Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Din fisierul arbore.in se citeste n, apoi n noduri ce alcatuiesc vectorul de tati.
- Afisati in fisierul arbore.out:
- - nodul radacina
- - nodurile care au ca radacina un nod x citit
- - nodurile terminale
- - matricea de adiacenta
- */
- #include <fstream>
- using namespace std;
- ifstream fin("arbore.in");
- ofstream fout("arbore.out");
- int viz[100], a[100][100];
- int main()
- {
- int n, i, j, T[100], x;
- fin >> n >> x;
- for(i = 1; i <= n; i++)
- {
- fin >> T[i];
- if(!T[i]) fout << "Nodul radacina este: " << i;
- }
- fout << endl << "Descendentii directi ai nodului " << x << ": ";
- for(i = 1; i <= n; i++)
- if(T[i] == x)
- fout << i << ' ';
- fout << endl << "Nodurile terminale sunt: ";
- for(i = 1; i <= n; i++)
- viz[T[i]] = 1;
- for(i = 1; i <= n; i++)
- if(!viz[i])
- fout << i << ' ';
- fout << endl << "Matricea de adiacenta este: " << endl;
- for(i = 1; i <= n; i++)
- {
- a[T[i]][i] = a[i][T[i]] = 1;
- }
- for(i = 1; i <= n; i++)
- {
- for(j = 1; j <= n; j++)
- fout << a[i][j] << ' ';
- fout << endl;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment