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

Problema con matriz dinamica

Estas en el tema de Problema con matriz dinamica en el foro de C/C++ en Foros del Web. Hola gente!!! bueno les cuento que estoy ante un gran dilema esto es asi: estoy con un algoritmo que mediante una matriz de enteros de ...
  #1 (permalink)  
Antiguo 10/05/2010, 01:14
 
Fecha de Ingreso: mayo-2010
Mensajes: 4
Antigüedad: 13 años, 11 meses
Puntos: 0
Problema con matriz dinamica

Hola gente!!!

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

estoy con un algoritmo que mediante una matriz de enteros de 20 x 20 genera dinamicamente otra matriz de 20 filas pero sin duplicaciones cosa que logro hacer hasta cierto punto cuendo termino con la primer fila de la matriz dinamica empiezan mis dolores de cabeza mi algoritmo es el siguiente:

Código:
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
 
void gen_matriz (int** nuevo, int matriz[20] [20])
 
{
	int j, i, k, y;
	int dup, tam, num_elem;
 
 
	num_elem = 1;		
 
	tam   =  (20 * sizeof(int*)); 
	nuevo = (int**) malloc(tam); // se serva mem para 20 filas
	nuevo[0] = (int*) malloc (sizeof (int)); //se serva mem para un elemento  
	nuevo[0][0] = matriz[0][0]; //copiamos el primero elemento  
 
 
	for (y = 0; y < 20; y++)
	{				
 
		for (k = 1; k < 20; k++)
		{
			dup = j = 0;		
			while ((j < 20) && !dup)	
			{ 
 
				dup = matriz[y][k] == nuevo[i][j++]; 		
 
			}
			if (!dup)	//si el numero no esta duplicado				
			{ 						 
 
				tam += sizeof(int);				
				nuevo[y] = (int*) realloc(nuevo[y], tam); //resevamos mem para un elemento mas				
				nuevo[y][num_elem++] = matriz[i][k]; //agregamos el elemento				
 
			}		
		}
	        num_elem = 0; //inicialisamo a 0 ya que los usamos para movernos por las distintos elementos de las filas 
	}
}

espero que me puedan ayudar saludos!!!
esta un poco desprolijo espero que se entienda

espero que me puedan ayudar saludos!!!

Etiquetas: dinamica, matizes, memoria
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 07:18.