Untitled
unknown
plain_text
2 years ago
1.1 kB
7
Indexable
#include <iostream> using namespace std; const int MAX_N = 100; // mărimea maximă a matricei de adiacență int a[MAX_N][MAX_N]; // matricea de adiacență int t[MAX_N]; // vectorul de marcări int n; // numărul de noduri // procedura de parcurgere în adâncime void pdf(int p) { cout << p << " "; t[p] = 1; for (int j = 1; j <= n; j++) { if (a[p][j] == 1 && t[j] == 0) { pdf(j); } } } int main() { // citim matricea de adiacență și numărul de noduri cin >> n; for (int i = 1; i <= n; i++) { for (int j = 1; j <= n; j++) { cin >> a[i][j]; } t[i] = 0; } // parcurgem graful și afișăm componentele conexe bool gasit = false; do { gasit = false; int i = 1; while (i <= n && !gasit) { if (t[i] == 0) { gasit = true; } i++; } if (gasit) { cout << "Componenta conexa: "; pdf(i - 1); cout << endl; } } while (gasit); return 0; }
Editor is loading...