salve a tutti.
sono nuovo.
studio informatica (4°anno di superiori) e volevo un aiuto x fare una visita anticipata (e magari anche psticipata e simmetrica) per questo albero che ho fatto (vi avverto in anticipo fa pena) compilatelo con visual studio (cmq credo vada bene anche borland).
ah! una altra cosa. prima usavo quel compilatore e c'era la funzione x cancellare lo schermo (clrscr o qlc del genere). su visual studio xò ho visto nn c'è..è in qualche libreria sperduta? o magari qlc di voi mi può dire come posso fare?
grazie
ShArK86
ps: mi sono accorto adesso che nn posso allegare il sorgente e nn avendo spazio libero sul web x upparlo lo copoi qua di seguito...se ci sono problemi fatemi sapere..
************************************************** *******************
codice:
#include <iostream.h>
typedef struct nodo
{
int x;
nodo * dx;
nodo * sx;
}nodo;
nodo * crea (nodo * foglia)
{
cin>>foglia->x;
foglia->dx=0;
foglia->sx=0;
return (foglia);
}
void posiziona (nodo * radice,nodo * foglia)
{
if ((foglia->x)==(radice->x))
cout<<"\nIl Valore Immesso e` Gia` Contenuto In Un Nodo Dell'Albero\n";
else
{
if ((foglia->x)>(radice->x))
{
if ((radice->dx)==0) //attacco (ramo dx)
{
radice->dx=foglia;
cout<<"\nCollegamento Effettuato Al Nodo Di Valore "<<radice->x<<" Sul Suo Ramo Di Destra\n";
}
else
{
nodo * scalo;
scalo=radice->dx;
posiziona(scalo,foglia); //ricorsione su ramo dx
}
}
else
{
if ((radice->sx)==0) //attacco (ramo sx)
{
radice->sx=foglia;
cout<<"\nCollegamento Effettuato Al Nodo Di Valore "<<radice->x<<" Sul Suo Ramo Di Sinistra\n";
}
else
{
nodo * scalo;
scalo=radice->sx;
posiziona(scalo,foglia); //ricorsione su ramo sx
}
}
}
}
void anticipata (nodo * radice)
{
}
void main()
{
int s;
bool z,f;
nodo * R; //radice dell'albero
z=0;
f=0;
do
{
cout<<"\n1) Attacca Una Nuova Foglia";
cout<<"\n2) Visita Anticipata Dell'Albero";
cout<<"\n3) Esci\n";
cin>>s;
switch (s)
{
case 1:
{
if (!f) //controllo se è la prima volta che si crea un nodo
{ //e quindi vado a creare la radice
f=1;
R=new(nodo);
cout<<"\nValore Della Radice= ";
R= crea(R);
}
else
{
nodo * n;
n=new(nodo);
cout<<"\nValore Della Foglia= ";
n= crea(n);
posiziona(R,n);
}
}
break;
case 2:
{
anticipata(R);
}
break;
case 3:
{
z=1;
}
break;
default:
{
}
}
}
while(!z);
}
************************************************** *******************