Foros del Web » Programación para mayores de 30 ;) » C/C++ »

captura de array bidimensional

Estas en el tema de captura de array bidimensional en el foro de C/C++ en Foros del Web. Pues el caso es que tengo que hacer un programa con un histograma y tal, pero lo principla es coger los datos de la matriz, ...
  #1 (permalink)  
Antiguo 18/09/2012, 02:31
 
Fecha de Ingreso: agosto-2012
Mensajes: 8
Antigüedad: 11 años, 8 meses
Puntos: 0
captura de array bidimensional

Pues el caso es que tengo que hacer un programa con un histograma y tal, pero lo principla es coger los datos de la matriz, y lo que me ocurre que en vez de pedir poco a poco [0][0], [0][1], [0][2], al ejecutarlo me pide los datos enteros de una fila, y claro asi no va la cosa, aver si pudieseis hecharme una mano. GRACIAS!!

Código C++:
Ver original
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #define N 4
  4. #define A 3
  5.  
  6. void captura_matriz(int m[][N],int tam);
  7. void imprimir_matriz(int m[][N],int tam);
  8.  
  9. int main()
  10. {
  11.   int a[A][N];
  12.   printf("introduzca matriz:");
  13.   captura_matriz(a,A);
  14.   imprimir_matriz(a,A);
  15.    
  16.     system("pause");
  17.     return 0;
  18. }
  19.  
  20. void captura_matriz(int m[][N],int tam)
  21. {
  22.      int i,j;
  23.      for(i=0;i<tam;i++)
  24.        { for(j=0;j<N;j++)
  25.           printf("Introduzca [%d][%d]\n",i,j);
  26.           scanf("%d",&m[i][j]);
  27.          
  28.        }
  29.  }
  30.  void imprimir_matriz(int m[][N],int tam)
  31.  {
  32.        int i,j;
  33.      for(i=0;i<tam;i++)
  34.        { for(j=0;j<N;j++)
  35.           printf("%d",m[i][j]);
  36.           printf("\n");
  37.          
  38.        }
  39.   }
  #2 (permalink)  
Antiguo 18/09/2012, 06:06
 
Fecha de Ingreso: diciembre-2011
Ubicación: Crespo - Entre Rios
Mensajes: 155
Antigüedad: 12 años, 4 meses
Puntos: 25
Respuesta: captura de array bidimensional

en las declaraciones de las 2 funciones cometiste el mismo error, solamente te olvidaste de encerrar entre llaves las sentencias que corresponden a los for internos..... ahi te las aguegue y te pide correctamente los datos.

Código C++:
Ver original
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #define N 4
  4. #define A 3
  5.  
  6. void captura_matriz(int m[][N],int tam);
  7. void imprimir_matriz(int m[][N],int tam);
  8.  
  9. int main()
  10. {
  11.   int a[A][N];
  12.   printf("introduzca matriz:");
  13.   captura_matriz(a,A);
  14.   imprimir_matriz(a,A);
  15.    
  16.     system("pause");
  17.     return 0;
  18. }
  19.  
  20. void captura_matriz(int m[][N],int tam)
  21. {
  22.      int i,j;
  23.      for(i=0;i<tam;i++)
  24.        { for(j=0;j<N;j++){
  25.           printf("Introduzca [%d][%d]\n",i,j);
  26.           scanf("%d",&m[i][j]);
  27.           }
  28.        }
  29.  }
  30.  void imprimir_matriz(int m[][N],int tam)
  31.  {
  32.        int i,j;
  33.      for(i=0;i<tam;i++)
  34.        { for(j=0;j<N;j++){
  35.           printf("%d",m[i][j]);
  36.           printf("\n");
  37.           }
  38.        }
  39.   }

recorda que si no encerras entre llaves, se va a ejecutar solamente la siguiente linea:

Código C++:
Ver original
  1. //se ejecutan todas las lineas que estan dentro de las llaves del for
  2. for (int i=0; i<10; i++){
  3.   a=i;
  4.   b=a;
  5. }
  6.  
  7.  
  8. //solamente se ejecuta una linea, la que esta luego del for
  9. for (int i= 0; i<10; i++)
  10.     a= i;
  11.     b=a;


saludos
  #3 (permalink)  
Antiguo 18/09/2012, 07:13
 
Fecha de Ingreso: agosto-2012
Mensajes: 8
Antigüedad: 11 años, 8 meses
Puntos: 0
Respuesta: captura de array bidimensional

ah vale, vaya descuido jeje , muchas gracias crack ;D

Etiquetas: int, programa, capturar, bidimensionales
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:48.