Cod in c++ (50 puncte)
Se dau in fisiereul date.in numerele n, p si q unde n este numarul de noduri ale unui arbore iar p si q sunt noduri din arbore. Apoi se citeste vectorul de tati prin care este reprezentat arborele. Afisati lantul elementar de la varful p la varful q.

Cod In C 50 Puncte Se Dau In Fisiereul Datein Numerele N P Si Q Unde N Este Numarul De Noduri Ale Unui Arbore Iar P Si Q Sunt Noduri Din Arbore Apoi Se Citeste class=

Răspuns :

COROANA TE ROG!!!

#include <fstream>

using namespace std;

ifstream f("date.in");

ofstream g("date.out");

int n,t[101],p,q;

void schimba(int r) {

   if (t[r]!=0) {

       schimba(t[r]);

       t[t[r]]=r;

   }

}

void drum(int v) {

   if(v!=0){

       drum(t[v]);

       g<<v<<" ";

   }

}

int main() {

   f>>n>>p>>q;

   for(int i=1;i<=n;i++)

       f>>t[i];

   schimba(p);

   t[p]=0;

   drum(q);

   f.close();

   g.close();

   return 0;

}