online: 6; azi: 1226; total: 53232 Manual clasa a xi a - Implementarea structurilor de date - Grafuri

Manual clasa a Xi a

Implementarea structurilor de date

Grafuri

Scrieți un program care citeşte dintr-un fişier matricea de adiacenţă a unui graf neorientat şi care determină numărul minim de muchii care trebuie adăugate pentru ca graful să nu conțină noduri izolate.
# include < iostream >
# include < fstream >
int main () {
std :: string filename ;
std :: cout << " Introduceti numele fisierului care contine matricea de adiacenta: " ;
std ::cin >> filename ;
std :: ifstream input ( filename ) ;
if (!input) {
std :: cerr << "Eroare la deschiderea fisierului !" << std :: endl ;
return 1 ;
}
int n;
input >> n;
int ** matrice = new int *[n];
for ( int i = 0 ; i < n; ++i) {
matrice[i] = new int [n];
}
for ( int i = 0 ; i < n; ++i) {
for ( int j = 0 ; j < n; ++j) {
input >> matrice[i][j];
}
}
input. close ();
int noduri_izolate = 0 ;
for ( int i = 0 ; i < n; ++i) {
int suma = 0 ;
for ( int j = 0 ; j < n; ++j) {
suma += matrice[i][j];
}
if (suma == 0 ) {
++ noduri_izolate ;
}
}
std :: cout << " Numarul minim de muchii care trebuie adaugate pentru ca graful sa nu contina noduri izolate: " << noduri_izolate << std :: endl ;
for ( int i = 0 ; i < n; ++i) {
delete [] matrice[i];
}
delete [] matrice;
return 0 ;
}