Programe
Programe
int a[100][100],tata[10000],oo=100000,n; {
ifstream in("graf.txt"); }
{int i,j,p,min,k; }
tata[i]=nod_start; in>>n;
p=0; while(in>>i>>j>>C)
for(i=1;i<=n;i++) a[i][j]=a[j][i]=C;
cout<<endl;
#include<iostream> //memorarea arborelui prin vectorii S,D
#define N 30 {
if(S[k]) SDR(S[k]);
if(D[k]) SDR(D[k]);
cout<<k<<" ";
int main()
int i;
do{
cin>>n;
}while(n<1||n>N);
do{
cin>>rad;
}while(rad<1||rad>n);
Arbore cu radacina for(i=0;i<p->n;i++) Preordine(p-
>leg[i]); //afisez descendentii
#include<iostream>
}
using namespace std;
}
#define NMAX 30 //numarul maxim de descendenti ai
unui nod void Postordine(ARB *p) //afiseaza nodurile in
postordine
typedef struct nod{
{
int inf;
int i;
int n; //numarul de descendenti
if(p)
nod *leg[NMAX]; //tabloul adreselor
descendentilor {
}ARB; for(i=0;i<p->n;i++)
{ }
int info,nr,i; ARB *p; void Adauga(ARB *p) //adauga un nod in coada
if(p)
for(i=0;i<p->n;i++)
Adauga(p->leg[i]);
//adaug in coada descendentii nodului
}while(p);
cout<<"\n";
int i;
if(p)
for(i=0;i<p->n;i++) Sterge(p->leg[i]);
int main()
cout<<"\n\t\tIntroduceti arborele:\n";
cout<<"\n\t\tTraversarea in preordine:\n";
Preordine(rad);
cout<<"\n\t\tTraversarea in postordine:\n";
Postordine(rad);
cout<<"\n\t\tTraversarea pe nivele:\n";
Traversare_nivele(rad);
return 0; }