Тема: Допоможіть виправити баг;
УМОВА!!!!
Задано множину впорядкованих пар вершин , що відповідають дугам орієнтованого графа. Знайти напівстепені входу та виходу кожної вершини.
#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");
}