Cześć wszystkim jako, że powoli uczę się algorytmów z jednej ze stron internetowych mam problem z kilkom podpunktami do zadania.
#include <iostream>
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; // Krawędź v1->v2 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;
}
// Usuwamy macierz
for( i = 0; i < n; i++ ) delete [ ] A [ i ];
delete [ ] A;
cout << endl;
return 0;
}
Napisz program, który dla danego grafu skierowanego wyznaczy dla każdego wierzchołka wszystkich jego sąsiadów.
Napisz program, który dla danego grafu skierowanego wyznaczy dla każdego wierzchołka wszystkie wierzchołki, dla których jest on sąsiadem..
Napisz program, który dla danego grafu skierowanego wyznaczy stopnie wychodzące i wchodzące wszystkich wierzchołków.
Napisz program, który dla danego grafu skierowanego wyznaczy wszystkie pętle, krawędzie dwukierunkowe oraz wierzchołki izolowane.
Mógłbym prosić o jakieś nakierowanie kompletnie nie rozumiem algorytmów z macierzy i list sąsiedztwa