Тема: Допоможіть виправити баг;
УМОВА!!!!
Задано множину впорядкованих пар вершин , що відповідають дугам орієнтованого графа. Знайти напівстепені входу та виходу кожної вершини.
#include<iostream>
#include<cmath>
using namespace  std;
void main(){
    setlocale(LC_ALL, "Ukrainian");
    const int p = 2;
    int n, m;
    cout << "Введiть кiлькiсть дуг: " << endl;
    cout << "m=";
    cin >> m;
    cout << "Введiть кiлькiсть вершин: " << endl;
    cout << "n=";
    cin >> n;
    int **spysok, *powin, *powout; //powin- масив напівстепенів входу ;powout- масив напівстепенів виходу ;
    spysok = new int *[m];
    for (int i = 0; i < m; i++){
        spysok[i] = new int[p];
    }
    powin = new int[n];
    powout = new int[n];
    cout << "Початкова вершина:   Кiнцева вершина:" << endl;
    for (int i = 0; i < m; i++){
        for (int j = 0; j < p; j++){
            cout << "     ";
            cin >> spysok[i][j];
        }
    }
    for (int t = 0; t < n; t++){//цей цикл компілятор пропускає (нічого не виводить на екран)
        for (int i = 0; i < m; i++){
            //шукаємо напівстепені входу
            for (int j = 0; j < p; j++){
                powin[t] = 0;
                if (spysok[i][2] == t + 1){
                    powin[t]++;
                    cout << "deg^-(v" << t+1 << ")=" << powin[t] << endl;
                }
            }
        }
    }
    for (int k = 0; k < n; k++){
        for (int i = 0; i < m; i++){//шукаємо напівстепені виходу
            for (int j = 0; j < p; j++){
                powout[k] = 0;
                if (spysok[i][1] == k + 1){
                    powout[k]++;
                    cout << "deg^+(v" << k+1 << ")=" << powout[k] << endl;
                }
            }
        }
    }
    for (int i = 0; i < m; i++){
        for (int j = 0; j < p; j++){
            if (spysok[i][j]>n || spysok[i][j] < 0)
                cout << "FATAL ERROR!!!" << endl; break;
        }
    }
    delete []spysok;
    delete []powin;
    delete []powout;
    system("pause");
}