Zaimplementuj program zamieniający reprezentację grafu w postaci sklejonej listy sąsiedztwa na macierz sąsiedztwa. Użytkownik podaje liczbę wierzchołków n, rozmiar tablicy T2 k oraz te tablice.

Przykład

n = 6
k = 12
T1: 0 2 3 6 8 11 12
T2: 1 2 0 0 3 4 2 4 2 3 5 4

Wynik

0 1 1 0 0 0
1 0 0 0 0 0
1 0 0 1 1 0
0 0 1 0 1 0
0 0 1 1 0 1
0 0 0 0 1 0

Coś mi nie działa to jak powinno

#include <iostream>

using namespace std;

int main()
{
    int A[100][100];
    int n;
    cin >> n;
    for(int i = 0; i < n; i++)
    {
        for(int j = 0; j < n; j++)
        {
            cin >> A[i][j];
        }
    }

    int T1[100], T2[100];

    T1[0] = 0;

    int k = 0;

    for(int i = 0; i < n; i++)
    {
        for(int j = 0; j < n; j++)
        {
            if(A[i][j] == 1)
            {
                T2[k] = j;
                k++;
            }
        }
        T1[i+1] = k;
    }

    for(int i = 0; i < n+1; i++)
    {
        cout << T1[i] << endl;
    }

    cout << "=======" << endl;

    for(int i = 0; i < k; i++)
    {
        cout << T2[i] << endl;
    }

    return 0;
}