Witam. Mam problem z "grą w życia" i chciałbym prosić o znalezienie błędu lub podpowiedź jak to zrobić lepiej. Napisałem tą grę na podstawie else if'ów i wygląda to okropnie. Do tego nie kompiluje się i nie mogę znaleźć powodu.Także podaje zasady tej gry i kod, tak jak wyżej proszę o pomoc.
martwa=0 zywa=1
1. Losujemy tablice 10x10 z zakresu (0;1)
2. Jesli martwa i 3 zywych = zywa
3. Jesli zywa i 2-3 zywych= zywa
4. Jesli zywa i wokol niej jest mniej niz 2 zywe lub wiecej niz 3 zywe to = martwa
5. Wyswietlic pierwsze 10 faz z zycia
#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
int main()
{
srand(time(NULL));
int tab1[10][10];
int tab2[10][10];
for(int i; i<10 ; i++)
{
for(int j; j<10; j++)
{
tab1[i][j]=rand()%2;
}
}
for(int i; i<10 ; i++)
{
for(int j; j<10; j++)
{
int suma=0;
if (i=0 and (j>0 and j<9))
{
suma=tab1[i][j-1]+tab1[i+1][j]+tab1[i+1][j+1]+tab1[i+1][j+2]+tab1[i][j+2];
if (tab1[i][j]=0 and suma=3)
{
tab2[i][j]=1;
}
else if (tab1[i][j]=1 and (suma>=2 and suma<=3))
{
tab2[i][j]=1;
}
else
{
tab2[i][j]=0;
}
}
else if(i=9 and (j>0 and j<9))
{
suma=tab1[i][j-1]+tab1[i-1][j-1]+tab1[i-1][j]+tab1[i-1][j+1]+tab1[i][j+1];
if(tab1[i][j]=0 and suma=3)
{
tab2[i][j]=1;
}
else if (tab1[i][j]=1 and (suma>=2 and suma<=3))
{
tab2[i][j]=1;
}
else
{
tab2[i][j]=0;
}
}
else if((j=0 and (i>0 and i<9)))
{
suma=tab1[i-1][j]+tab1[i-1][j+1]+tab1[i][j+1]+tab1[i+1][j+1]+tab1[i+1][j];
if(tab[i][j]=0 and suma=3)
{
tab2[i][j]=1;
}
else if (tab1[i][j]=1 and (suma>=2 and suma<=3))
{
tab2[i][j]=1;
}
else
{
tab2[i][j]=0;
}
}
else if((j=9 and (i>1 and i<9))
{
suma=tab1[i-1][j]+tab1[i-1][j-1]+tab1[i][j-1]+tab1[i+1][j-1]+tab1[i+1][j];
if(tab1[i][j]=0 and suma=3)
{
tab2[i][j]=1;
}
else if (tab[i][j]=1 and (suma>=2 and suma<=3))
{
tab2[i][j]=1;
}
else
{
tab2[i][j]=0;
}
}
else if(i=0 and j=0)
{
suma=tab1[i][j+1]+tab1[i+1][j+1]+tab1[i+1][j];
if(tab1[i][j]=0 and suma=3)
{
tab2[i][j]=1;
}
else if (tab1[i][j]=1 and (suma>=2 and suma<=3))
{
tab2[i][j]=1;
}
else
{
tab2[i][j]=0;
}
}
else if(i=0 and j=9)
{
suma=tab1[i][j-1]+tab1[i+1][j]+tab1[i+1][j-1];
if(tab1[i][j]=0 and suma=3)
{
tab2[i][j]=1;
}
else if (tab1[i][j]=1 and (suma>=2 and suma<=3))
{
tab2[i][j]=1;
}
else
{
tab2[i][j]=0;
}
}
else if(i=9 and j=0)
{
suma=tab1[i-1][j]+tab1[i][j+1]+tab1[i-1][j+1];
if(tab1[i][j]=0 and suma=3)
{
tab2[i][j]=1;
}
else if (tab[i][j]=1 and (suma>=2 and suma<=3))
{
tab2[i][j]=1;
}
else
{
tab2[i][j]=0;
}
}
else if(i=9 and j=9)
{
suma=tab1[i][j-1]+tab1[i-1][j]+tab1[i-1][j-1];
if(tab1[i][j]=0 and suma=3)
{
tab2[i][j]=1;
}
else if (tab[i][j]=1 and (suma>=2 and suma<=3))
{
tab2[i][j]=1;
}
else
{
tab2[i][j]=0;
}
}
}
}
for(int i; i<10 ; i++)
{
for(int j; j<10; j++)
{
cout << tab1[i][j];
}
}
for(int i; i<10 ; i++)
{
for(int j; j<10; j++)
{
cout << tab2[i][j];
}
}
return 0;
}