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
Ir a la versión completa