Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-06-2012
woduro woduro is offline
Miembro
 
Registrado: sep 2006
Posts: 16
Poder: 0
woduro Va por buen camino
Exclamation apuntadores a apuntadores

Hola amigos, tengo un problema con c++, hice un codigo que supuestamente funciona al correrlo en frio sin embargo en el compilador es otra historia, el problema es con apuntadores.

estoy creando un arbol a partir de un archivo, el cual tiene el siguente formato: padre nombre sexo edad, el arcivo es leido a la perfección y se crea un nuevo nodo en el cual se ingresan los datos del registro, el nodo tiene la siguiente estructura:

struct persona{char nombre[10];
char sexo;
unsigned int edad;};

struct nodo{persona info;
nodo *i,*c,*d;
};

nodo *raiz;


//una vez leido cada registro se llama a la funcion ingresa(&raiz,nuevo,padre);




int ingresa(nodo **rz, nodo *nuevo, char padre[10]){ // rz recibe la dirección de la raiz, nuevo al nuuevo nodo y padre al nombre del padrenodo *r=*rz; // r es una variable apuntador a nodo donde asigno el valor al cual apunta rz para poder trabajar con el// el problema es que por alguna razón al hacer la asignación de r=*rz donde r deberia recibir el valor de la raiz, lo que recibe
// es el valor de nuevo

if(r==NULL){
r=nuevo; *rz=r; return 1;
//asigno el valor de r a la dirección rz osea a la raiz, a pesar de que este es el unico sitio donde se hace
// esta asignación y de que aquientra una sola vez el valor de la raiz cambia siemprea al ultimo nodo// "procesado"
}else{

if(r->info.nombre==padre){
//esto nunca se cumple porque r->info.nombre tiene el mismo valor que nuevo->info.nombre

// aqui va el codigo de la insercion recursiva el cual es irrelevante pues el problema esta en r

//la llamada recursiva es asi ingresa(&r->i,nuevo,padre) para r->i, r->c, r->d pero nunca llega hasta aqui...

}
}



el caso es que no se crea el arbol y siempre el valor de la raiz es el ultimo nodo procesado, alguien tiene alguna idea de por que ocurre esto o como solucionarlo??
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
ayuda con LISTAS(con cursores,arreglos y apuntadores) velapuerca88 Varios 10 23-05-2011 03:14:57
Ayucon apuntadores o punteros alextmb OOP 9 10-11-2005 23:54:15
Enviar un AdoQuery entre dll's con apuntadores nacho Tablas planas 2 27-09-2005 23:50:15
Pila con Listas enlazadas (problema con apuntadores) desve Varios 2 30-03-2005 10:07:47


La franja horaria es GMT +2. Ahora son las 18:33:27.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi