Witam, mam pewien problem. Piszę prostą grę w życie i mam już prawie kompletny kod. Zatrzymałem się jednak w pewnym miejscu: przekazywaniu wartości komórek i jej sąsiadów do następnej tablicy która ma być wydrukowana. W funkcji main mam takie odwołanie:

wypisz_pokolenia(x,y,ip, tab1, tab_zmienna); (x,y wielkosc tablicy, ip - ilosc pokoleń, tab1 - tablica drukowana, tab_zmienna - tablica przechowujaca wartości do przekazania do tablicy drukowanej)

sama funkcja: (niestety długa bo i możliwości sporo, sens jednak głównie ten sam)

void wypisz_pokolenia(int x, int y, int ip, int **taba, int **tabb)
{
	int i,j,m,licznik;
	srand(time(NULL));
	for (m=0;m<ip;m++)
	{ /*petla 1 od m*/
		clear();
		for (i=0;i<y;i++)
		{ /*petla for 2 (od i)*/
		for (j=0;j<x;j++)
		{ /*petla for 3 (od j)*/
			licznik=0;
			if (i==0 && j==0)
				{	if (taba[i+1][j]==1) licznik++;
					else if (taba[i][j+1]==1) licznik++;
					else if (taba[i+1][j+1]==1) licznik++;
				}
			else if (i==0 && j==x-1)
				{	if (taba[i][j-1]==1) licznik++;
					else if (taba[i+1][j]==1) licznik++;
					else if (taba[i+1][j-1]==1) licznik++;
				}
			else if (i==y-1 && j==0)
				{	if (taba[i-1][j]==1) licznik++;
					else if (taba[i][j+1]==1) licznik++;
					else if (taba[i-1][j+1]==1) licznik++;
				}
			else if (i==y-1 && j==x-1)
				{	if (taba[i-1][j]==1) licznik++;
					else if (taba[i][j-1]==1) licznik++;
					else if (taba[i-1][j-1]==1) licznik++;
				}
			else if (i==0 && j!=0 && j!=x-1)
				{	if (taba[i][j-1]==1) licznik++;
					else if (taba[i][j+1]==1) licznik++;
					else if (taba[i+1][j-1]==1) licznik++;
					else if (taba[i+1][j+1]==1) licznik++;
					else if (taba[i+1][j]==1) licznik++;
				}
			else if (i==y-1 && j!=0 && j!=x-1)
				{	if (taba[i][j-1]==1) licznik++;
					else if (taba[i][j+1]==1) licznik++;
					else if (taba[i-1][j-1]==1) licznik++;
					else if (taba[i-1][j+1]==1) licznik++;
					else if (taba[i-1][j]==1) licznik++;
				}
			else if (i!=0 && i!=y-1 && j==0)
				{	if (taba[i-1][j]==1) licznik++;
					else if (taba[i+1][j]==1) licznik++;
					else if (taba[i+1][j+1]==1) licznik++;
					else if (taba[i][j+1]==1) licznik++;
					else if (taba[i-1][j+1]==1) licznik++;
				}
			else if (i!=0 && i!=y-1 && j==x-1)
				{	if (taba[i-1][j]==1) licznik++;
					else if (taba[i+1][j]==1) licznik++;
					else if (taba[i+1][j-1]==1) licznik++;
					else if (taba[i][j-1]==1) licznik++;
					else if (taba[i-1][j-1]==1) licznik++;
				}
			else if (i!=0 && i!=y-1 && j!=0 && j!=x-1)
				{	if (taba[i+1][j-1]==1) licznik++;
					else if (taba[i+1][j]==1) licznik++;
					else if (taba[i+1][j+1]==1) licznik++;
					else if (taba[i][j-1]==1) licznik++;
					else if (taba[i][j+1]==1) licznik++;
					else if (taba[i-1][j-1]==1) licznik++;
					else if (taba[i-1][j]==1) licznik++;
					else if (taba[i-1][j+1]==1) licznik++;
				}

			if (taba[i][j]==1 && (licznik==2 || licznik==3)) tabb[i][j]=1;
			else if (taba[i][j]==0 && licznik==3) tabb[i][j]=1;
			else tabb[i][j]=0;
		} /*petla for 3 (od j)*/
		}/*petla for 2 (od i)*/	
		

	for (i=0;i<y;i++)
		{
		for(j=0;j<x;j++)
			{
			taba[i][j] = tabb[i][j];
			}
		}
	wypisz_macierz(x,y,taba);
	refresh();
	sleep(1);

	} /*petla 1 od m */
}

Na końcu funcka wypisz_macierz :

void wypisz_macierz(int x, int y, int **tab)
{
    int i,j;
    for(i=0; i<y; i++)
    {
        for(j=0; j<x; j++)
        {
		if (tab[i][j]==1) printw("0");
		else printw("*");
		}
        printw("\n");
    }
    
}

Problem jest taki że każda kolejna tablica jest wyzerowana i drukuje jedynie zera (a w moim programie *). Jak przekazać wartości tablicy do nowej by dobrze zostały wydrukowane?

dodałem tagi <code>