Czy pomoże mi ktoś znaleźć błąd w tym kodzie?
#include <iostream>
using namespace std;
class Plansza
{
private:
int x;
int** T;
public:
Plansza();
~Plansza();
void wypisz();
void sprawdz();
};
Plansza::Plansza()
{
cout<<"Podaj rozmiar planszy \n";
cin>>x;
T=new int*[x];
cout<<"Oznaczenia"<<endl<<"0 - komorka martwa"<<endl<<"1 - komorka zywa"<<endl;
for(int i=0; i<x; i++)
{
T[i]=new int[x];
for(int j=0; j<x; j++)
{
cout<<"Podaj element "<<i<<j<<endl;
cin>>T[i][j];
}
}
}
Plansza::~Plansza()
{
for(int i=0; i<x; i++)
{
delete [] T[i];
}
delete [] T;
}
void Plansza::wypisz()
{
cout<<"Plansza: "<<endl;
for(int i=0; i<x; i++)
{
for(int j=0; j<x; j++)
{
cout<<T[i][j]<<" ";
}
cout<<endl;
}
}
void Plansza::sprawdz()
{
for(int i=0; i<x; i++)
{
for(int j=0; j<x; j++)
{
int licznik=0;
if(i==0)
{
if(j==0)
{
if(T[i][j]==0)
{
if(T[i][j+1]==1) licznik++;
if(T[i+1][j]==1) licznik++;
if(T[i+1][j+1]==1) licznik++;
if(licznik==3)
{
T[i][j]==1;
}
}
else if(T[i][j]==1)
{
if(T[i][j+1]==1) licznik++;
if(T[i+1][j]==1) licznik++;
if(T[i+1][j+1]==1) licznik++;
if(licznik<2)
{
T[i][j]==0;
}
}
}
else
{
if(T[i][j]==0)
{
if(T[i][j-1]==1) licznik++;
if(T[i][j+1]==1) licznik++;
if(T[i+1][j-1]==1) licznik++;
if(T[i+1][j]==1) licznik++;
if(T[i+1][j+1]==1) licznik++;
if(licznik==3)
{
T[i][j]==1;
}
}
else if(T[i][j]==1)
{
if(T[i][j-1]==1) licznik++;
if(T[i][j+1]==1) licznik++;
if(T[i+1][j-1]==1) licznik++;
if(T[i+1][j]==1) licznik++;
if(T[i+1][j+1]==1) licznik++;
if(licznik<2 || licznik>4)
{
T[i][j]==0;
}
}
else if(j==x-1)
{
if(T[i][j]==0)
{
if(T[i][j-1]==1) licznik++;
if(T[i+1][j]==1) licznik++;
if(T[i+1][j-1]==1) licznik++;
if(licznik==3)
{
T[i][j]==1;
}
}
else if(T[i][j]==1)
{
if(T[i][j-1]==1) licznik++;
if(T[i+1][j]==1) licznik++;
if(T[i+1][j-1]==1) licznik++;
if(licznik<2)
{
T[i][j]==0;
}
}
}
}
}
else if(i==x-1)
{
if(j==0)
{
if(T[i][j]==0)
{
if(T[i][j+1]==1) licznik++;
if(T[i-1][j]==1) licznik++;
if(T[i-1][j+1]==1) licznik++;
if(licznik==3)
{
T[i][j]==1;
}
}
else if(T[i][j]==1)
{
if(T[i][j+1]==1) licznik++;
if(T[i-1][j]==1) licznik++;
if(T[i-1][j+1]==1) licznik++;
if(licznik<2)
{
T[i][j]==0;
}
}
}
else if(j==x-1)
{
if(T[i][j]==0)
{
if(T[i][j-1]==1) licznik++;
if(T[i-1][j]==1) licznik++;
if(T[i-1][j-1]==1) licznik++;
if(licznik==3)
{
T[i][j]==1;
}
}
else if(T[i][j]==1)
{
if(T[i][j-1]==1) licznik++;
if(T[i-1][j]==1) licznik++;
if(T[i-1][j-1]==1) licznik++;
if(licznik<2)
{
T[i][j]==0;
}
}
}
else
{
if(T[i][j]==0)
{
if(T[i][j-1]==1) licznik++;
if(T[i][j+1]==1) licznik++;
if(T[i-1][j-1]==1) licznik++;
if(T[i-1][j]==1) licznik++;
if(T[i-1][j+1]==1) licznik++;
if(licznik==3)
{
T[i][j]==1;
}
}
else if(T[i][j]==1)
{
if(T[i][j-1]==1) licznik++;
if(T[i][j+1]==1) licznik++;
if(T[i-1][j-1]==1) licznik++;
if(T[i-1][j]==1) licznik++;
if(T[i-1][j+1]==1) licznik++;
if(licznik<2 || licznik>4)
{
T[i][j]==0;
}
}
}
}
if(j==0)
{
if(T[i][j]==0)
{
if(T[i-1][j]==1) licznik++;
if(T[i-1][j+1]==1) licznik++;
if(T[i][j+1]==1) licznik++;
if(T[i+1][j]==1) licznik++;
if(T[i+1][j+1]==1) licznik++;
if(licznik==3)
{
T[i][j]==1;
}
}
else if(T[i][j]==1)
{
if(T[i-1][j]==1) licznik++;
if(T[i-1][j+1]==1) licznik++;
if(T[i][j+1]==1) licznik++;
if(T[i+1][j]==1) licznik++;
if(T[i+1][j+1]==1) licznik++;
if(licznik<2 || licznik>4)
{
T[i][j]==0;
}
}
}
else if(j==x-1)
{
if(T[i][j]==0)
{
if(T[i-1][j-1]==1) licznik++;
if(T[i-1][j]==1) licznik++;
if(T[i][j-1]==1) licznik++;
if(T[i+1][j]==1) licznik++;
if(T[i+1][j-1]==1) licznik++;
if(licznik==3)
{
T[i][j]==1;
}
}
else if(T[i][j]==1)
{
if(T[i-1][j-1]==1) licznik++;
if(T[i-1][j]==1) licznik++;
if(T[i][j-1]==1) licznik++;
if(T[i+1][j]==1) licznik++;
if(T[i+1][j-1]==1) licznik++;
if(licznik<2 || licznik>4)
{
T[i][j]==0;
}
}
}
else
{
if(T[i][j]=0)
{
if(T[i][j-1]==1) licznik++;
if(T[i][j+1]==1) licznik++;
if(T[i-1][j-1]==1) licznik++;
if(T[i-1][j]==1) licznik++;
if(T[i-1][j+1]==1) licznik++;
if(T[i+1][j-1]==1) licznik++;
if(T[i+1][j]==1) licznik++;
if(T[i+1][j+1]==1) licznik++;
if(licznik==3)
{
T[i][j]==1;
}
}
if(T[i][j]=1)
{
if(T[i][j-1]==1) licznik++;
if(T[i][j+1]==1) licznik++;
if(T[i-1][j-1]==1) licznik++;
if(T[i-1][j]==1) licznik++;
if(T[i-1][j+1]==1) licznik++;
if(T[i+1][j-1]==1) licznik++;
if(T[i+1][j]==1) licznik++;
if(T[i+1][j+1]==1) licznik++;
if(licznik<2 || licznik>=4)
{
T[i][j]==0;
}
}
}
}
}
}
int main()
{
Plansza p;
p.wypisz();
p.sprawdz();
p.wypisz();
system ("pause");
return 0;
}
Z góry dziękuje za pomoc