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

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


  Mostrar Mensajes
Páginas: 1 [2] 3 4 5 6 7
11  Programación / Programación C/C++ / Re: funcion recibe dos parametros en: 29 Agosto 2012, 17:19 pm
Vale, ya lo he entendido, los argumentos al programa se le pasan a traves del compilador dengtro del propio menu ejecutar/parametros ejemplo: 2   hola
argv[1] 2
argv[2] hola

El codigo es este:
Código
  1. int main(int argc, char* argv[])
  2. {
  3.    int i;
  4.  
  5.  printf("Numero de argumentos: %i\n", argc);
  6.  printf("Nombre del programa: %s\n", argv[0]);
  7.  for(i=1;i<(argc); i++)
  8.   {
  9.  
  10. printf("Argumento numero %i: %s\n", i, argv[i]);
  11.  
  12. printf("prueba");
  13.   }
  14.  system("pause");
  15. }
  16.  

ahora solo faltaría que el programa verifique que el primer argumento es un numero, y el segundo una cadena ¿ alguna ayuda con esto?

gracias
12  Programación / Programación C/C++ / Re: funcion recibe dos parametros en: 26 Agosto 2012, 20:15 pm
Hola ALONSOQ . Mira nunca debes pasar argumentos a una funcion con * es recomendable con [] y &, eso depende de los argumentos definidos en las definiciones de las funciones. Si quieres resolver tu problema tendrias que solamente verificar los argumentos pasados a tu codigo y no esperar datos de entradas.

Nota: Aun no se sabe el tipo de verificacion que se quiere, si es que tiene que haber obligatoriamente un argumento numerico o si solo se quiere salida por pantalla del numero de argumentos, bueno esto como quiera te servira !!

Mira te dejo un ejemplo que creo que tambien soluciona tu inquietud:

Código
  1. int main(int argc, char **argv)
  2. {
  3.    //se verifica que en la posicion 1 de tu argumento contenga valores
  4.    //igual pasa con la posicion 2 ya que la posicion 0 no se toca porque es
  5.    //el nombre de tu main.exe y no es lo que se quiere aqui !!!
  6.    if(argv[1]!=0&&argv[2]!=0)
  7.    {
  8.                           printf("Son Correctos !!");
  9.                           }
  10.    else
  11.    {
  12.        printf("No son Correctos");
  13.        }  
  14.  

Tambien podrias verificar los argc y si son <= a 2 entonces no serian correctos los argumentos y tambien pudieras tener una bunea solucion, pero expongo el codigo de arriba para que tengas una idea de los argv[] pasados a una funcion principal.

Suerte !! ALONSOQ  :xD

Muchas gracias fire 544 por tu respuesta, entiendo tu explicación y te la agradezco; y entiendo que en el bucle se requiere que las posiciones 1 y 2 del vector no estén vacías; pero lo que no se es indicarle al codigo que la primera sea un valor numérico y la segunda una cadena de texto ¿ puedes ayudarme con esto?

gracias
13  Programación / Programación C/C++ / funcion recibe dos parametros en: 22 Agosto 2012, 16:53 pm
Hola me piden el siguiente programa:Cree un programa en el que la función principal reciba dos parámetros, el primero numérico y el segundo una cadena de texto. Compruebe que son correctos, y si no lo son muestre un mensaje por pantalla indicando la sintaxis del programa.

He hecho esto, pero no se seguir, ¿podeis ayudarme por favor?

Código
  1. #include<stdio.h>
  2.  
  3. int main(char argc, char * argv[]) {
  4.  
  5. int i;
  6.  
  7. printf("Argumentos de la línea de órdenes\n\n");
  8.  
  9. printf("dime un número");
  10. gets (*argv);
  11. printf("Dime una cadena de texto");
  12.        gets (*argv);
  13.  
  14. for(i=0; i<argc; i++) {
  15.                   if (argc!=2) printf("error");
  16.  
  17.                 }
  18.  
  19. return 0;
  20.    }

muchas gracias
14  Programación / Programación C/C++ / Re: suma matrices en: 21 Agosto 2012, 17:36 pm
Muchísimas gracias de verdad por la explicación tan buena  y detallada que me has dado; realmente me ha servido de mucho.
15  Programación / Programación C/C++ / Re: suma matrices en: 20 Agosto 2012, 09:38 am
a ver... para sumar 2 matrices tienen que tener la misma dimension. asi que en tu codigo, con pedir 1 vez la dimension es suficiente. y luego, el trozo de codigo para sumar no es mas que recorrer la matriz igual que lo haces para inicializarla con rand(), pero en vez de eso pones un printf() que muestre matriz1[ i][j]+matriz2[ i][j].

todo el resto del codigo de antes es para solucionar varios errores que cometes en toda la otra parte de codigo, tambien para solucionar el desorden y estructurarlo un poco, y para que sea mas entendible al leerlo.

si ya has estudiado funciones y apuntadores, si quieres modifico mi mensaje anterior añadiendo explicaciones en el codigo para que asi puedas seguirlo y entenderlo; si no, no le hagas mucho caso ya que te sonara a chino y primero deberias leerte la teoria antes de dedicarte a la practica.

un saludo!

Hola Xiruco, sí me he estudiado las funciones y apuntadores, de hecho el problema es que no entiendo bien el tema de apuntadores y paso de argumentos por referencia a las matrices; si no te es mucha molestia, a lo mejor añadiendo las explicaciones al código me sirven de ayuda.

un saludo
16  Programación / Programación C/C++ / Re: suma matrices en: 19 Agosto 2012, 22:52 pm
Muchas gracias por tu ayuda xiruco. La verdad es que me cuesta muchísimo entender lo que has redactado. ¿ sería muy dificil sumar a partir de mi código?

gracias de nuevo
17  Programación / Programación C/C++ / suma matrices en: 18 Agosto 2012, 11:07 am
Hola,
 como se suman estas dos matrices?

Código
  1. #include <stdlib.h>
  2. #include<stdio.h>
  3. #include <time.h>
  4. #include<conio.h>
  5.  
  6. int n,d, i, j;
  7.  
  8. void  generar_matriz1 ();
  9. void generar_matriz2 ();
  10.  
  11.  
  12. int   main()
  13. {
  14.  
  15.    srand (time(NULL));
  16.  
  17.       printf("dimensi\xA2n de la matriz1:");
  18.    scanf("%d",&n);
  19.  
  20.       int matriz1[n][n];
  21.  
  22.        generar_matriz1 ();
  23.  
  24.        printf("dimensi\xA2n de la matriz2:");
  25.    scanf("%d",&n);
  26.  
  27.       int matriz2[n][n];
  28.  
  29.        generar_matriz2 ();
  30.  
  31.        printf ("Presione una tecla para salir.....");
  32.        getch();
  33.  
  34. }
  35. /*********************************************/
  36.  
  37. void generar_matriz1 ()
  38. {
  39.  
  40.    int matriz1[d][d];
  41.  
  42.    for (i=0;i<n;i++)
  43.        {
  44.            for (j=0;j<n;j++)
  45.                {
  46.                    matriz1[i][j]=(rand()%16);
  47.                    printf("%d\t",matriz1[i][j]);
  48.                }
  49.            printf("\n\n");
  50.        }
  51. }
  52.  
  53. void generar_matriz2 ()
  54. {
  55.  
  56.    int matriz2[d][d];
  57.  
  58.    for (i=0;i<n;i++)
  59.        {
  60.            for (j=0;j<n;j++)
  61.                {
  62.                    matriz2[i][j]=(rand()%16);
  63.                    printf("%d\t",matriz2[i][j]);
  64.                }
  65.            printf("\n\n");
  66.        }
  67. }

muchas gracias pr vuestra ayuda
18  Programación / Programación C/C++ / Re: palindromo en: 7 Agosto 2012, 17:34 pm
Muchas gracias por tu respuesta

por cierto que significa memset(Palabra,0,100);?

gracias
19  Programación / Programación C/C++ / Re: palindromo en: 7 Agosto 2012, 10:11 am
Hola he retomado este tema y he encontrado este código, que de una manera facil y entendible para los que somos principaiantes, dice si una palabra es o no palindromo. Pero me surge la siguiente duda de principante, en el bucle for termina con ';' ( en los codigos que yo he hecho hasta ahora no se termina con ';') y si se elimina, aunque el programa compila y ejecuta, no funciona correctamente ¿ por que?

muchas gracias
Código
  1. int longitud;
  2. int inicio=0, fin;    
  3.  
  4.  
  5. void palindromo (char palin[]);
  6. char palin[30];
  7. main()
  8. {
  9. palindromo(palin);
  10. }
  11.  
  12. void palindromo (char palin[])
  13. {
  14.  
  15.     printf("dime una palabra:");
  16.     gets (palin);
  17.    longitud = strlen(palin);
  18.  
  19.  
  20.     for(fin=longitud-1; palin[fin]==palin[inicio] && fin>=0; inicio++,fin--);
  21.  
  22.         if (inicio==longitud)
  23.         {
  24.            printf( "Es palindromo");
  25.         }  
  26.         else
  27.         {
  28.            printf( "no es palindromo");  
  29.         }  
  30.  
  31.  
  32. }
20  Programación / Programación C/C++ / Re: cadenas y funciones en: 6 Agosto 2012, 18:57 pm
Muchas gracias por tu ayuda, lo modifico en el programa original añadiendo lo que me dices, pero creo que no te entiendo bien. ¿  es a lo que te refieres? no funciona

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