Problemas!!... matriz Dinamicos

Iniciado por nicolasblues86, 10 Mayo 2010, 06:27 AM

0 Miembros y 1 Visitante están viendo este tema.

nicolasblues86

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 !!




#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 %i\n",y, j, dup);
 }
 j++;
}
printf ("dup %i\n", 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 : %i\n", y, k, nuevo [y] [indice]);

}
}

}

for(y = 0; y < 20; y++)
for(k = 0; k < num_elem[y]; k++)
printf("nuevo[%i][%i] = %i\n", y, k, nuevo[y][k]);
}


   
esta un poco desprolijo espero que se entienda

espero que me puedan ayudar saludos!!!

Solamente hay 10 clases de personas en el mundo los que saben leer binario y los que no

biribau

No entiendo que quieres hacer pero:
i está sin inicializar
buscas que algo se cumpla en cierto elemento (matriz[y][k] y nuevo[j]) pero luego el que utilizas es otro (matriz[k] y nuevo[y][num_elem]), digo yo que al menos uno debería coincidir, si es que es una búsqueda.
No puedo ayudarte más porque no entendí que quieres hacer.

nicolasblues86

Se tiene una matriz estatica de 20 x 20 y de esta matriz quiero sacar todos lo numeros que sean unicos osea los que no se repiten jamas y los tengo que poner en una matriz dinamica la cual creo a partir de un puntero a puntero (**nuevo).
espero que ahora si se entianda

Saludos

   
Solamente hay 10 clases de personas en el mundo los que saben leer binario y los que no

nicolasblues86

Bueno ahora lo modifique y anda joya.. el problema es que me quedo horrible muy inlegible a alguien se le ocurre alguna mejor manera de hacerlo??
Solamente hay 10 clases de personas en el mundo los que saben leer binario y los que no