PDA

Visualizza la versione completa : [C++] Caricamento alberi


Iena87
06-04-2005, 16:11
Innanzitutto ho un problema col seguente programma:



#include <stdio.h>
#include <conio.h>
#include <iostream.h>
#include <stdlib.h>

/* INIZIO DICHIARAZIONE */

typedef char parola[20];

struct albero{
parola p;
albero * ptsx;
albero * ptdx;
};
albero * radice;

parola par;
char risp;

void inserisci_in_albero(albero*,parola);
int regola(parola,parola);

/* FINE DICHIARAZIONE */


int main(){
do{
cout<<"\nInserire una parola : ";
cin>>par;
inserisci_in_albero(radice,par);
cout<<"\nVuoi inserire una nuova parola (s/n) ? ";
cin>>risp;
}while(risp=='s');
getch();
return 0;
}


void inserisci_in_albero(albero * ax, parola px){
if(ax==NULL){
ax=new(albero);
ax->p=px;
ax->ptsx=NULL;
ax->ptdx=NULL;
}
else{
if(regola(ax->p,px))
inserisci_in_albero(ax->ptsx,px);
else
inserisci_in_albero(ax->ptdx,px);
}
}


int regola(parola par_nodo, parola py){
char r;
cout<<"\nLa parola " <<py <<" la vuoi inserire alla destra o alla sinistra del nodo la cui parola e' " <<par_nodo <<" (s/d) ? ";
cin>>r;
if(r=='s')
return 1;
else
return 0;
}

Perchè mi da errore alla riga colorata di rosso dicendomi che non può effettuare un assegnamento da char+ a char[20] ???
Sia ax->p che px sono di tipo parola, cioè un tipo che ho costruito col typedef e definisce un vettore di caratteri di 20 elementi...


Poi mi sono accorto che la procdeura ricorsiva inserisci_in_albero nn funge e nn mi carica l'albero...qual è la procedura che mi permette di carica un albero con la ricorsione?

Iena87
06-04-2005, 21:15
up :master:

Loading