Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <iomanip>
- using namespace std;
- int main()
- {
- int n,m,i,j,v1,v2;
- char ** A;
- cin >> n >> m; // Czytamy liczbę wierzchołków i krawędzi
- A = new char * [n]; // Tworzymy tablicę wskaźników
- for(i = 0; i < n; i++)
- A[i] = new char [n]; // Tworzymy wiersze
- // Macierz wypełniamy zerami
- for(i = 0; i < n; i++)
- for(j = 0; j < n; j++) A[i][j] = 0;
- // Odczytujemy kolejne definicje krawędzi
- for(i = 0; i < m; i++)
- {
- cin >> v1 >> v2; // Wierzchołek startowy i końcowy krawędzi
- A[v1][v2] = 1;
- //A[v2][v1] = 1; // Krawędź v1->v2 oraz v2->v1 obecna
- }
- cout << endl;
- // Wypisujemy zawartość macierzy sąsiedztwa
- cout << " ";
- for(i = 0; i < n; i++) cout << setw(3) << i;
- cout << endl << endl;
- for(i = 0; i < n; i++)
- {
- cout << setw(3) << i;
- for(j = 0; j < n; j++) cout << setw(3) << (int) A[i][j];
- cout << endl;
- }
- //
- cout<<endl;
- //szukamy sasiadów kazdego wierzcholka w grafie skierowanym
- for (int k=0; k<n; k++)
- {
- cout<<k<<" "<<endl;
- for (int i=0; i<n; i++)
- {
- if (A[i][k]==1)
- cout<< setw(3) << k;
- }
- }
- // Usuwamy macierz
- for(i = 0; i < n; i++) delete [] A[i];
- delete [] A;
- cout << endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement