Witam.
Właśnie tworzę krok po kroku program, który będzie wyszukiwał mi cykle eulera w grafach.
Robię go krok po kroku by uniknąć wysypu nie wiadomo ilu błędów.
Mianowicie mam problem z jednym etapem.
Program mi się wysypuje (zwykły exe przestał działać) i nie wiem czemu.
Poniżej zamieszczam kod:
#include <iostream>
#include <conio.h>
using namespace std;
/* ZMIENNE GLOBALNE */
int ile_w, ile_k, sptr, ex;
int ** A; //MACIERZ SĄSIEDZCTWA
int *S; //STOS W TABLICY
int main()
{
int i,j,x1,x2;
cout<<"Podaj liczbe wierzcholkow w grafie:"<<endl; // CZYTAMY LICZBĘ WIERZCHOŁKÓW
cin>>ile_w;
cout<<"Podaj liczbe krawedzi w grafie:"<<endl; // CZYTAMY LICZBĘ KRAWĘDZI
cin>>ile_k;
A = new int * [ile_w]; //TWORZYMY TABLICĘ WSKAŹNIKÓW
S = new int [ile_k+1]; //TWORZYMY STOS
sptr=0;
for(i=0;i<ile_w;i++)
A[i]=new int [ile_w]; //TWORZYMY WIERSZE MACIERZY SĄSIEDZCTWA
for(i=0;i<ile_w;i++)
for(j=0;j<ile_w;j++) A[i][j]=0; //MACIERZ WYPEŁNIAMY ZERAMI
/* ODCZYT KOLEJNYCH DEFINICJI KRAWĘDZI */
for(i=0; i<ile_k;i++)
{
cout<<"Podaj pierwszy wierzcholek krawedzi numer "<<i+1<<":"<<endl; //PIERWSZY WIERZCHOLEK KRAWEDZI
cin>>x1;
cout<<"Podaj drugi wierzcholek krawedzi numer "<<i+1<<":"<<endl; //DRUGI WIERZCHOLEK KRAWEDZI
cin>>x2;
A[x1][x2]+=1;
A[x2][x1]+=1;
}
cout<<"Wcisnij dowolny klawisz by zakonczyc program."<<endl;
getch();
return 0;
}
Wysypuje się przy podawaniu krawędzi grafu.