elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


  Mostrar Temas
Páginas: 1 [2] 3 4
11  Programación / Programación C/C++ / Empacar dos caracteres en una variable entera unsigned. [C] en: 22 Febrero 2015, 20:10 pm
Hola a todos.
Creo que es la primera vez que los consulto y no puedo mostrar ningún avance, bueno debo aclarar que estoy desconcertado y no sé por dónde comenzar y les soy sincero al decir que ni siquiera pude buscar en la web.-
Dejo el enunciado y espero que puedan ayudarme con teoría o con algún ej.-    



Saludos.
Daniel
12  Programación / Programación C/C++ / Establecer el estado de un determinado bit Encendido/Apagado [C] en: 16 Febrero 2015, 22:07 pm
Hola gente.-
El caso es que dado un número ingresado por teclado, y la posición del bit que se desea saber el estado, mostrar Encendido/Apagado, practique y busque información en la web pero no pude dar con la solución.-
Lo que realmente me complica es el patrón para transformar por ej. Si el ingreso  de la posición es 5 la debo transformar a 16 para establecer la máscara, pero no lo encuentro, tal vez esté errado en el concepto, no sé.- 



Código
  1. #include <stdio.h>
  2.  
  3. int main(void){
  4. unsigned int numero, mask, ch;
  5.  
  6. printf("\n\n Ingrese un entero sin signo...............:");
  7. scanf("%d", &numero);
  8. while ((ch = getchar()) != EOF && ch != '\n');
  9.  
  10. printf("\n\n Indique que bits desea saber el estado....:");
  11. scanf("%d", &mask);
  12. while ((ch = getchar()) != EOF && ch != '\n');
  13.  
  14. mask <<= 2;
  15.  
  16. printf(numero & mask ? "\n Encendido" : "\n Apagado");
  17.  
  18. return 0;
  19. }

Como siempre muchas gracias por el tiempo que le dediquen.-   

Saludos.
Daniel
13  Programación / Programación C/C++ / De decimal a binario sumando sólo los bits encendidos [C]. en: 14 Febrero 2015, 18:05 pm
Hola a todos.
Nuevamente con alguna duda y solicitando ayuda.-
La duda es sobre cómo establecer  el valor correcto de la variable bits, si bien practicando un poco tal vez lograría que si por ej. El ingreso es:
2147483648 en binario  10000000000000000000000000000000
Obtendría el resultado esperado pero no me quedaría claro por qué establecí dicho valor.-   
Me podrían decir el criterio que debo utilizar para establecer el valor correcto en la variable bits.-

Código
  1. //Programa que convierte un número entero sin signo a binario.
  2. #include <stdio.h>
  3. #include <windows.h>
  4. #include <limits.h>
  5.  
  6. void ingreso();
  7. void decimalBinario(int numero);
  8.  
  9. int main(void){
  10. ingreso();
  11.  
  12. return 0;
  13. }
  14.  
  15. void ingreso(){
  16. int ingreso, ch=0, ok=0;
  17.  
  18. do{
  19. system("cls");
  20. printf("\n\n Ingrese un entero sin signo en el rango de 1 a %d...: ", INT_MAX);
  21. ok = scanf("%d", &ingreso) == 1 && ingreso > 0 && ingreso <= INT_MAX;
  22. while ((ch = getchar()) != EOF && ch != '\n');
  23. }while(!ok);
  24.  
  25. decimalBinario(ingreso);
  26. }
  27.  
  28. void decimalBinario(int numero){
  29. int bits=64, i, entero=0;
  30.  
  31. printf("\n\n binario ");
  32. for(i=0; bits > 0; i++){
  33. if(numero & bits){
  34. printf("1");
  35. entero += bits;
  36. }
  37. else{
  38. printf("0");
  39. }
  40. bits /=2;
  41. }
  42. printf(" ==> decimal %d\n\n", entero);
  43. }
  44.  
Saludos.
Daniel
14  Programación / Programación C/C++ / Array de estructura (struct) typedef y punteros[C]. en: 7 Febrero 2015, 22:11 pm
Hola a todos.
Estoy estudiando estructuras y voy a programar una agenda, al programa le falta todo pero no quiero seguir sin aprender las dos cosas por las que doy de alta este post.-
La primera como puedo insertar typedef y la otra, como hago para declarar la estructura para que se le pueda ingresar de o a 10 contactos (unaAgenda [10]).-
Espero se entienda, estimo que si.-

Código
  1. #include <stdio.h>
  2.  
  3. struct agenda{
  4. int orden, celular;
  5. char nombre[30], apellido[30], calle[30], ciudad[30], correo[50];
  6. };
  7.  
  8. int main(void){
  9. struct agenda unaAgenda;
  10. struct agenda *ptrAgenda;
  11. ptrAgenda = &unaAgenda;
  12.  
  13. (*ptrAgenda).orden = 1;
  14.  
  15. printf("\n\n %d", (*ptrAgenda).orden);
  16.  
  17. return 0;
  18. }

Saludos.
Daniel
15  Programación / Programación C/C++ / Transformar el monto numérico del cheque a palabras [C]. en: 17 Enero 2015, 18:14 pm
Hola a todos.
Bueno, el enunciado del manual con el que estoy estudiando c me pedía:

Citar
*99. 87
123456789
Escriba un programa que introduzca el monto a imprimir en el cheque y después imprima, si es necesario, el monto en formato protegido con asteriscos al principio. Suponga un total de nueve espacios disponibles para la impresión del monto.
 
lo pude lograr, pero el siguiente me trabe y realmente no sé cómo continuar, espero de esas mentes prodigiosas (que abundan por aquí) que me pongan algún ejemplo para poder finalizar con este tema.- :rolleyes: :rolleyes:   
Citar
Escriba un programa que introduzca un monto numérico de cheque y que escriba el equivalente en palabras de dicho monto, Por ejemplo, el monto 112.34 se debe escribir como
CIENTO DOCE y 34/100

Código
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. #define MAX 10
  5.  
  6. void completar(char cheque[]);
  7. void proteger(char cheque[]);
  8. void numeroAletra(char cheque[]);
  9.  
  10. int main(void) {
  11. char cheque[MAX];
  12.  
  13. printf("\n Ingrese el monto del cheque...:");
  14. fgets(cheque, sizeof(cheque), stdin);
  15. completar(cheque);
  16. proteger(cheque);
  17. //numeroAletra(cheque);
  18.    printf("\n\n Pulse [Enter] para finalizar...");
  19.    getchar();
  20.    return 0;
  21. }
  22.  
  23. void completar(char cheque[]){
  24. char *p=NULL;
  25. int ch;
  26.  
  27. if((p=strchr(cheque, '\n'))){
  28. *p='\0';
  29. }
  30. else{
  31. while((ch = getchar()) !='\n' && ch!=EOF);
  32. }
  33. }
  34.  
  35. void proteger(char cheque[]){
  36. int longitud = strlen(cheque), max = MAX-1;
  37. cheque[max] = '\0';
  38. for(max--; max >= 0; max--){
  39. if(longitud > 0){
  40. cheque[max] = cheque[longitud-1];
  41. }
  42. else{
  43. cheque[max] = '*';
  44. }
  45. longitud--;
  46. }
  47. printf("\n El monto ingresado = %s", cheque);
  48. }
  49.  
  50. void numeroAletra(char cheque[]){
  51. char *unidad[] = {"Uno", "dos", "tres", "cuatro", "cinco", "seis", "siete", "ocho", "nueve"};
  52. char *decena[] = {"diez", "veinte", "treinta", "cuarenta", "cincuenta", "sescenta", "setenta", "ochenta", "noventa"};
  53. char *centena[] = {"cien", "dosciento", "treciento", "cuatrociento", "quiniento", "seiciento", "seteciento",
  54. "ochocientos", "novecientos"};
  55. char *especiales[] = {"Un", "Mil"};
  56.  
  57. }
  58.  
  59.  
Saludos y desde ya muchas gracias.-
Daniel
16  Programación / Programación C/C++ / Ordenar alfabéticamente array de punteros a char (lenguaje C) en: 5 Enero 2015, 23:52 pm
Hola a todos.
El programa que dejo a continuación funciona correctamente, lo que no logro hacer son 2 cosas que desearía me enseñen a concretarlas.-
Quiero en primer lugar eliminar esta línea.

Código
  1. #define ELEMENTOS 15


Como debo hacer con sizeof para saber cuántos punteros tengo declarado en el array de punteros provincias, me funciona con char, int, pero no con array de punteros.-
Lo otro que no puedo lograr es pasar el array provincias a una función, para que se entienda quiero hacer lo mismo con 2 funciones, una que se llame mostrar y la otra ordenar, en este caso me interesaría más que me escriban un poco de teoría que la sintaxis (si es mucho pedir, mil disculpas).-


Código
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. #define ELEMENTOS 15
  5.  
  6. int main(void){
  7. char *provincias[ELEMENTOS] = {"Tucuman", "Santa Fe", "Buenos Aires", "Rio Negro", "Neuquen",
  8. "Misiones", "Catamarca", "Santa Cruz", "Jujuy", "Chaco",
  9. "Formosa", "Corrientes", "Salta", "La Rioja", "Cordoba"};
  10. char *temp;
  11. int i, j;
  12.  
  13. printf("\n provincias Argentinas desordenadas\n\n" );
  14. for(i=0; i<ELEMENTOS; i++){
  15. printf(" %s\n", provincias[i]);
  16. }
  17.  
  18. for(i=0; i<ELEMENTOS-1; i++){
  19. for(j=i+1; j<ELEMENTOS; j++){
  20. if(strcmp(provincias[i], provincias[j]) > 0){
  21. temp = provincias[i];
  22. provincias[i] = provincias[j];
  23. provincias[j] = temp;
  24. }
  25. }
  26. }
  27.  
  28. printf("\n Ordenadas alfabeticamente\n\n" );
  29. for(i=0; i<ELEMENTOS; i++){
  30. printf(" %s\n", provincias[i]);
  31. }
  32.  
  33. printf("\n Pulse [Enter] para finalizar..."); getchar();
  34. return 0;
  35. }

Saludos.
Daniel
17  Programación / Programación C/C++ / [C] Llamar a un array de punteros a caracteres en un bucle. en: 29 Diciembre 2014, 19:16 pm
Hola a todos.
El enunciado del libro con el que estoy estudiando dice:
Citar
Escriba un programa que lea un carácter desde el teclado y que pruebe el carácter con cada una de las funciones de la biblioteca de manipulación de caracteres.
Como no quiero utilizar 100 if ni switch se me antojo hacerlo de esta manera, obviamente me da un error que no puedo solucionar, me podrían informar si esto es posible o si estoy proponiendo un disparate.-   

Código
  1. #include<stdio.h>
  2. #include<string.h>
  3.  
  4. int main(int argc,char **argv){
  5. char a, *funManCad[] = {"islower", "isupper", "isdigit"};
  6. char *mensaje[] = {"una letra minuscula", "una letra mayuscula", "un numero"};
  7. int i;
  8.  
  9. printf("\n Ingrese un caracter cualquiera [confirme con Enter]...:");
  10. a = getchar();
  11. for(i=0; i<3; i++){
  12. if(funManCad[i](a)){
  13. printf("\n Ingreso %s", mensaje[i]);
  14. }
  15. }
  16.  
  17. printf("\n\n Pulse [Enter] para finalizar..."); getchar();getchar();
  18. return 0;
  19. }
 
A simple vista se nota que me faltan muchas funciones, pero esto es sólo para la consulta.-
Saludos.
Daniel
18  Programación / Programación C/C++ / De minúscula a mayúscula a nivel de bits en lenguaje C. en: 31 Diciembre 2013, 00:42 am
Hola a todos.
Estoy como siempre estudiando y practicando en este caso con punteros y ya logre el programa restando 32 al ascii de la letra minúscula para pasarla a mayúscula, ahora lo que quiero hacer es lo mismo pero intercambiando el sexto bit, como ya se sabe si el sexto bit está encendido la letra es minúscula y si está apagado es mayúscula.-
La primer ayuda que les pido es: ¿cómo debo  hacer para guardar el número binario en una variable del tipo int? (línea 32).-

Código
  1. #include <stdio.h>
  2.  
  3. void binario(int);
  4.  
  5. int main(void){
  6.  
  7. char cadena[6] = "daniel";
  8. int ascii=0, i=0;
  9.  
  10.  
  11. while(i<6){
  12. ascii = cadena[i];
  13. printf("\n La letra %c en decimal %3d en binario ", cadena[i], ascii);
  14. binario(ascii);
  15. i++;
  16. }
  17.  
  18. printf("\n\n");
  19.  
  20. return 0;
  21. }
  22.  
  23. void binario(int num){
  24. int aux;
  25.  
  26. if(num==0)
  27.      return;
  28.  
  29. aux=num%2;
  30. num=num/2;
  31. binario(num);
  32. printf("%d",aux);
  33. }

Desde ya muchas gracias y feliz 2014.-
Saludos.
Daniel

19  Programación / Programación C/C++ / Array de punteros en lenguaje C. en: 19 Diciembre 2013, 23:53 pm
Citar
Hago esta aclaración porque en muchos casos suponen que tengo 15 o 20 años(es lo lógico) y en realidad tengo 61, como comprenderán no voy a la facultad y la gente que conozco no tiene la más mínima idea lo que es la computadora y menos programar.-

Hola a todos.
Aclaro que hace menos de una semana que llegué al capítulo “punteros” en el libro que estoy aprendiendo  C.-
Lo que debería hacer el programa es ordenar el arreglo de punteros para que se muestre Abeja – abeja y no abeja – Abeja, el gran problema que tengo es como declarar temp para que contenga la dirección de memoria de uno de los punteros.-
Espero se entienda de lo contrario por favor consúltenme necesito esto para poder seguir.-

Código:
#include <stdio.h>
#include <string.h>

int main(void){

char *frase[] = {"abeja", "Abeja"};
int i;
i = strcmp( *frase, *(frase+1));
if(i > 0){
temp = frase;
frase = frase+1;
frase+1 = temp;
}
for(i=0; i<2; i++){
printf("%s", *(frase+i));
}


return 0;
}

Saludos.
Daniel

20  Programación / Programación C/C++ / MinGW depurador(debugger) ejemplos prácticos.- en: 14 Diciembre 2013, 22:21 pm
Hola a todos.
Necesitaría que alguien me dé una mano con este tema, hace tiempo que periódicamente intento la búsqueda en google pero no doy con un ejemplo práctico.-

C:\gcc -Wall ab.c -o ab

Saludos y desde ya muchas gracias.-
Daniel

Páginas: 1 [2] 3 4
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines