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
1  Programación / Programación C/C++ / Re: Instruccion sscanf [C] en: 26 Febrero 2013, 20:36 pm
Oh! entendido a la perfeccion naderST muchas gracias por tu ayuda!
2  Programación / Programación C/C++ / Re: Instruccion sscanf [C] en: 26 Febrero 2013, 19:26 pm
Con cual formato? D: con el del especificador de conversion? o cual?
3  Programación / Programación C/C++ / Re: Instruccion sscanf [C] en: 26 Febrero 2013, 19:14 pm
Oh muchas gracias! Ahora lo entiendo, entonces si quiero hacer que se ignoren caracteres en una lectura, los pongo en el scanf y ya se ignoran?
4  Programación / Programación C/C++ / Instruccion sscanf [C] en: 26 Febrero 2013, 18:57 pm
Que tal, tengo una duda, estaba viendo un programa y tiene una comparacion muy rara (bueno para mi que soy nuevo en esto) miren

Código
  1. if (sscanf(q,"R%dC%d", &r,&c)==2)
  2.  

por que compara la instruccion sscanf con un 2?

Y en esta otra:

Código
  1. scanf("%d\n", &n);
  2.  

Por que pone un salto de linea despues del especificador de conversion?
5  Programación / Programación C/C++ / Re: [C] Paso de arreglos bidimensionales a funciones. (?) en: 22 Febrero 2013, 06:45 am
Wow rir quedo todo superclaro! Muchisimas gracias por tu respuesta! Saludos.
6  Programación / Programación C/C++ / Re: [C] Paso de arreglos bidimensionales a funciones. (?) en: 20 Febrero 2013, 04:48 am
Si espero que nos saquen de la duda :c ojala y sean tan amables de aclararnoslo.
7  Programación / Programación C/C++ / Re: [C] Paso de arreglos bidimensionales a funciones. (?) en: 19 Febrero 2013, 19:34 pm
leosansan pero por que cuando declaro arreglos unidimensionales, aunque no los declare como const, si puedo compilar correctamente cuando paso los arreglos a parametros const de una funcion?
Asi mira:
Código
  1. #include <stdio.h>
  2.  
  3. void intenta_modificar_arreglo( const int b[] );
  4.  
  5. /* Inicia la ejecucion */
  6. int main()
  7. {
  8. int a[] = { 1, 2, 10 };
  9.  
  10. intenta_modificar_arreglo( a );
  11.  
  12. printf( "%d %d %d\n", a[0], a[1], a[2] );
  13.  
  14. return 0;
  15. } /* Fin de main */
  16.  
  17. /*------------------Definicion de funciones-----------------------*/
  18. void intenta_modificar_arreglo( const int b[] )
  19. {
  20. b[0] /= 2;
  21. b[1] /= 2;
  22. b[2] /= 2;
  23. } /* Fin de funcion intenta_modificar_arreglo */
  24.  
Que es lo que pasa, por que en arreglos unidimensionales si se puede evadir la declaracion const y en los bidimensionales no?? Esa es mi duda???
8  Programación / Programación C/C++ / [C] Paso de arreglos bidimensionales a funciones. (?) en: 19 Febrero 2013, 17:29 pm
Hola que tal. Lo que pasa es que en este codigo:
Código
  1. /*Asignacion de valores en arreglos bidimensionales*/
  2. #include <stdio.h>
  3.  
  4. /*Prototipos de funciones*/
  5. void imprimir_arreglo( const int a[2][3] );
  6.  
  7. /*Inicia la ejecucion del programa*/
  8. int main()
  9. {
  10.  int arreglo1[2][3] = { { 1, 2, 3 },
  11.                         { 4, 5, 6 } };                        
  12.  int arreglo2[2][3] = { 1, 2, 3, 4, 5 };
  13.  int arreglo3[2][3] = { { 1, 2 }, { 4 } };
  14.  
  15.  printf( "Los valores en el arreglo 1 de 2 filas y 3 columnas son:\n" );
  16.  imprimir_arreglo( arreglo1 );
  17.  
  18.  printf( "Los valores en el arreglo 2 de 2 filas y 3 columnas son:\n" );
  19.  imprimir_arreglo( arreglo2 );
  20.  
  21.  printf( "Los valores en el arreglo 3 de 2 filas y 3 columnas son:\n" );
  22.  imprimir_arreglo( arreglo3 );
  23.  
  24.  return 0;
  25. }  /*Fin de main*/
  26.  
  27. /*Definiciones de funciones*/
  28. void imprimir_arreglo( const int a[2][3] )
  29. {
  30.  int i;  /*Contador filas*/
  31.  int j;  /*Contador columnas*/
  32.  
  33.  for (i = 0; i <=1; i++)
  34.  {
  35.    for (j = 0; j <= 2; j++)
  36.    {
  37.      printf( "%d ", a[i][j] );
  38.    }
  39.  
  40.    printf( "\n" );
  41.  }
  42. } /*Fin de funcion imprime_arreglo*/
  43.  

Cuando compilo de esa manera me da estos errores mi compilador:
Citar
ArreglosBidimensionales.c: In function ‘main’:
ArreglosBidimensionales.c:16:3: warning: passing argument 1 of ‘imprimir_arreglo’ from incompatible pointer type [enabled by default]
ArreglosBidimensionales.c:5:6: note: expected ‘const int (*)[3]’ but argument is of type ‘int (*)[3]’
ArreglosBidimensionales.c:19:3: warning: passing argument 1 of ‘imprimir_arreglo’ from incompatible pointer type [enabled by default]
ArreglosBidimensionales.c:5:6: note: expected ‘const int (*)[3]’ but argument is of type ‘int (*)[3]’
ArreglosBidimensionales.c:22:3: warning: passing argument 1 of ‘imprimir_arreglo’ from incompatible pointer type [enabled by default]
ArreglosBidimensionales.c:5:6: note: expected ‘const int (*)[3]’ but argument is of type ‘int (*)[3]’

Pero cuando compilo quitandole el calificador de tipo const al prototipo y definicion de funciones es decir asi:
Código
  1. /*Prototipos de funciones*/
  2. void imprimir_arreglo( int a[2][3] );
  3.  
  4. .......
  5.  
  6. /*Definiciones de funciones*/
  7. void imprimir_arreglo( int a[2][3] )
  8. {
  9.  
Si puedo compilar correctamente.

Por que pasa eso? Por que en arreglos unidimensionales si puedo compilar con el calificador const y en los bidimensionales no? Alguien me puede ayudar con esta duda?
Por cierto uso el compilador GNU GCC.
Agradecimientos por adelantado.
9  Programación / Programación C/C++ / Re: Cual es la mejor manera para validar una entrada? en: 14 Febrero 2013, 19:22 pm
Ok consejo anotado DickGumshoe muchas gracias!
10  Programación / Programación C/C++ / Cual es la mejor manera para validar una entrada? en: 14 Febrero 2013, 18:05 pm
Hola que tal! Vengo con otra pequeña duda. Solamente quisiera saber cual de los siguientes bloques de código es el mas apropiado u optimizado para leer dígitos y validarlos:

Este:
Código
  1. #include <stdio.h>
  2.  
  3. int main()
  4. {
  5. int a;
  6.  
  7. scanf( "%d", &a );
  8.  
  9. while ( a > 5 )
  10. {
  11. printf( "El numero debe ser menor a 5, ingresa otro: " );
  12. scanf( "%d", &a );
  13. }
  14.  
  15. printf( "Correcto!" );
  16.  
  17. return 0;
  18. }
  19.  

O este:
Código
  1. #include <stdio.h>
  2.  
  3. int main()
  4. {
  5. int a;
  6.  
  7. do
  8. {
  9. scanf( "%d", &a );
  10.  
  11. if ( a > 5 )
  12. printf( "El numero debe ser menor a 5, ingresa otro: " );
  13. } while ( a > 5 );
  14.  
  15. printf( "Correcto!" );
  16.  
  17. return 0;
  18. }
  19.  
Páginas: [1] 2
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines