Programación General > C/C++

 Problema!! matriz Dinamica!!. C

(1/1)

NICOLASBLUES:
Hola gente!!!

bueno les cuento que estoy ante un gran dilema esto es asi:

mediante una matriz estatica de enteros de 20 x 20 hay que generar dinamicamente otra matriz cuyos elementos son todos aquellos que son unicos en la matriz estatica de 20 x 20, es decir si en la matriz estatica tenemos:
 pos[0][0]=1  
 pos[0][1]=1
 pos[0][2]=23

en la dinamica tendremos pos[0][0]=23

ya que 23 es unico en la matriz


el algoritmo responde bien hace exactamente eso pero me quedo muy confuso si alguien purde sugerir alguna manera de arreglarlo o de encararlo por otro lado seria grandioso !!


 

--- Código: C --- #include <stdio.h>#include <stdlib.h>#include <ctype.h> void gen_matriz (int** nuevo, int matriz[20] [20]) {    int j, k, y;    int dup;    int num_elem[20];            nuevo = (int**) calloc(20, sizeof(int*));      for (y = 0; y < 20; y++)    {               num_elem[y] = 0;         for (k = 0; k < 20; k++)        {            dup = 0;            j = 0;                  while ((j < 20) && !dup)                {                          if (k != j)              {                 dup = matriz[y][k] == matriz[y][j];                             printf ("y=%i %i %in",y, j, dup);              }              j++;            }            printf ("dup %in", dup);            if (!dup)            {                                         num_elem[y]++;                if (nuevo[y] == NULL)                   nuevo[y] = (int*) malloc(sizeof (int));                else                  nuevo[y] = (int*) realloc(nuevo[y], num_elem[y] * sizeof (int));                 int indice = num_elem[y] - 1;                                   nuevo[y][indice] = matriz[y][k];                                printf (" posicion %i %i : %in", y, k, nuevo [y] [indice]);                                 }               }        }     for(y = 0; y < 20; y++)        for(k = 0; k < num_elem[y]; k++)            printf("nuevo[%i][%i] = %in", y, k, nuevo[y][k]);}  
   
esta un poco desprolijo espero que se entienda

espero que me puedan ayudar saludos!!!

Navegación

[0] Índice de Mensajes

Ir a la versión completa