Ver Mensaje Individual
  #10 (permalink)  
Antiguo 14/06/2010, 19:19
Avatar de Mercality
Mercality
 
Fecha de Ingreso: junio-2010
Mensajes: 19
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Definir tamaño de una matriz

Hasta que por fin! Pude medio entender esto y hacer lo que quería! jaja!

Aquí esta el resultado que esperaba
Código C:
Ver original
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3. main() {
  4.        int f,c,g;
  5.        int **mat;
  6.  do {
  7.       int i,j,k=1,a=0,b=0,d=0,e=0;
  8.       printf("Especifique la cantidad de Filas:\n");
  9.       scanf("%d", &f);
  10.       printf("Especifique la cantidad de Columnas:\n");
  11.       scanf("%d", &c);
  12.      
  13.        mat = (int**) malloc(f*sizeof(int));
  14.        
  15.       for(i=0;i<f;i++)
  16.       {
  17.           mat[i] = (int*)malloc(c*sizeof(int));
  18. }
  19.        
  20.         printf("Introduzca la edad de las personas para clasificarlas en niños, jovenes y adultos.\n\n");
  21.        
  22.      for (i=0;i<f;i++)  {
  23.          
  24.          for (j=0;j<c;j++)  {
  25.              
  26.                  printf("Introduzca la edad de la persona numero %d\n",k);
  27.                  scanf ("%d", &mat[i][j]);
  28. system("cls");
  29.                if (k>=1){
  30.                k=k+1;
  31.                }  
  32.             if((int)mat[i][j] <= 13) {
  33.             a=a+1;
  34.             }    
  35.             if((int)mat[i][j] >= 14 && (int)mat[i][j] <=18) {
  36.             b=b+1;
  37.             }    
  38.             if((int)mat[i][j] >=19 && (int)mat[i][j] <=50) {
  39.             d=d+1;
  40.             }
  41.             if((int)mat[i][j] > 51) {
  42.             e=e+1;
  43.             }            
  44.          }
  45.      }
  46.        printf("Cantidad de niños: %d\n", a);
  47.        printf("Cantidad de jovenes: %d\n",b);
  48.        printf("Cantidad de Adultos: %d\n",d);
  49.        printf("Cantidad de viejos: %d\n",e);
  50.        printf("**********  Presione 1 para salir, Cualquier otra tecla para repetir. ***************");
  51.        scanf("%d", &g);
  52.        system("cls");
  53.        k=(k-k+1);
  54.        for(i=0;i<f;i++) {
  55. free (mat[i]);
  56. }
  57. free(mat);    
  58.           }
  59.           while(g!=1);
  60.           return 0;
  61. }

Algo que agregar?

También me parecen muchas lineas para algo que al ejecutarlo sea tan simple xd.

Bueno, se te agradece mucho AlanChavez (: