Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- ifstream fin("nr.txt");
- int radacina,frunze[10],neterminale[10],aux[10];
- int main(){
- int n,x,v[50],i,j,c=1,b=1,aux2;
- //citire si afisare
- fin>>n;
- cout<<n<<endl;
- for(i=1;i<=n;i++){
- fin>>v[i];
- cout<<v[i]<<" ";
- }
- cout<<endl<<endl;
- //1-radacina
- for(i=1;i<=n;i++){
- if(v[i]==0){
- cout<<"Radacina="<<i<<endl;
- radacina=i;
- }
- }
- //2-frunze
- cout<<"Frunze=";
- for(i=1;i<=n;i++){
- aux[v[i]]=1;
- }
- for(i=1;i<=n;i++){
- if(aux[i]==0){
- cout<<i<<" ";
- frunze[c]=i;
- c++;
- }
- }
- cout<<endl;
- c--;
- //3-noduri neterminale
- cout<<"Noduri neterminale=";
- for(i=1;i<=n;i++){
- if(v[i]!=0 && v[i]!=radacina){
- cout<<v[i]<<" ";
- neterminale[b]=v[i];
- b++;
- }
- }
- cout<<endl;
- b--;
- //4-inaltimea
- cout<<"Inaltimea=";
- //5-nodurile de pe fiecare nivel
- cout<<"Noduri pe nivel:"<<endl;
- cout<<radacina<<endl;
- for(i=1;i<=n;i++){
- if(v[i]==radacina){
- cout<<i<<" ";
- }
- }
- cout<<endl;
- //6-descendentii directi lui x
- cout<<"x=";cin>>x;
- cout<<"Descendenti directi=";
- for(i=1;i<=n;i++){
- if(v[i]==x){
- cout<<i<<" ";
- }
- }
- cout<<endl;
- //7-descendentii lui x
- cout<<endl<<"Descendenti=";
- while(x!=radacina){
- for(j=1;j<=n;j++){
- if(j==x){
- cout<<x<<" ";
- x=v[j];
- }
- }
- }
- //8-ascendentii frunzelor
- cout<<endl<<endl<<"Ascendentii frunzelor=";
- for(i=1;i<=c;i++){
- cout<<endl<<frunze[i]<<":";
- aux2=frunze[i];
- while(aux2!=radacina){
- for(j=1;j<=n;j++){
- if(j==aux2){
- cout<<aux2<<" ";
- aux2=v[j];
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement