如何在函数内操作全局数组? (C ++)

时间:2013-12-03 20:24:33

标签: c++ variables global

这是我的代码:

#include <iostream>
#include <fstream>
using namespace std;

bool life[82][82][26];

int cn(int row, int col, int g)
{
int count = 0;
for(int r = row - 1; r <= row + 1; r++)
{
        for(int c = col - 1; c <= col + 1; c++)
        {
            if((r == row) && (c = col))
                continue;
            else if(life[r][c][g] == true)
                count++;
            else
                continue;
        }
}
return (count);
}

int main(){

ifstream fin("start.dat");
ofstream fout("boards.txt");

int row, col, g, a, b, c, i;

for(row = 0; row < 82; row++)
    for(col = 0; col < 82; col++)
        for(g = 0; g < 26; g++)
            life[row][col][g] = false;

fin >> a >> b >> c;
for(i = 1; i <= a; i++)
{
    life[b][c][0] = true;
    fin >> b >> c;
}

fout << cn(40, 40, 0);



return 0;}

我正在制作Conway's Game of Life

我的问题(我认为)是我的“cn”(count_neighbors)函数出错了。它应该计算所讨论的细胞周围的所有“活”(真)细胞,但是当我运行程序时,什么都没有出来。这让我觉得“life [] [] []”数组以某种方式搞砸了,或者循环写得不正确。当我运行这个程序时,我确实得到一个闪烁的光标。

1 个答案:

答案 0 :(得分:2)

可能if((r == row) && (c = col))应该是if((r == row) && (c == col))吗?