Triunghiuri asemenea
Sa se scrie un program care citeste un nr de relatii de forma(i,j) .Semnificatia este: triunghiul i este asemenea cu triunghiul j. Apoi se vor citi, din nou, doua numere naturale i,j cu semnificatia de triunghiuri .Intrebarea este: sunt asemenea triunghiurile i si j ? |
#include<iostream>
#include<fstream> using namespace std; int n,i,j,t[50],h[50]; int arb(int nod) { while (t[nod]) nod=t[nod]; return nod; } void adaug(int i,int j) { int v1=arb(i),v2=arb(j); if(v1!=v2) if(h[v1]==h[v2]) { t[v1]=v2; h[v2]++; } else if (h[v1]<h[v2]) t[v1]=v2; else t[v2]=v1; } main() { fstream f("graf.txt",ios::in); f>>n; while(f>>i>>j) adaug(i,j); f.close(); cout<<"i=";cin>>i; cout<<"j=";cin>>j; if(arb[i]==arb[j]) cout<<"asemenea"; else cout<<"nu sunt asemenea"; } |