2012-02-25 9 views
-1

これは私の2番目のCの割り当てで、ConwayのGame of Lifeのバージョンを再作成するよう指示されました。 & WIDTHはの#define定数であるC 2D配列の構造比較の問題

typedef int TableType[HEIGHT][WIDTH]; 

HEIGHT:私はして作成されたグリッドのintの私の2次元配列を保持するためにSTRUC(のtypedef)を使用しています。

以下の関数を使用して2つのテーブルを比較しようとしています。次のエラーで(関係なく、私が試してみて、値を比較どのような方法):私は私のコンパイラとしてコードブロックを使用していますが、gccx作業を取得する方法を見つけるように見えることはできません

error: expected expression before '==' token 


int compareTables (TableType tableA, TableType tableB){ 
    int height, width; 
    for (height = 0; height < HEIGHT; height++) { 
     for (width = 0; width < WIDTH; width++) { 
     if(tableA[height][width]) == tableB[height][width]) 
     return LIFE_NO; 
     } 
    } 
    return LIFE_YES; 
} 

。だから、私が知る限り、 'stdio.h'だけが私が使うことができるライブラリです。

ポインタをインポートし、 - >演算子を使ってポインタを操作しようとしましたが、無駄に比較する値を取得しようとしました。 私はテーブルをコピーする同様の方法を使用して、それはうまくコンパイルするようです。

控えめで、私はnOObです。

ありがとうございます。

+1

あなたは迷子のようなものがあります。私の答えは –

+0

です。コードブロックはコンパイラではなく、IDEです – obo

答えて

0
if(tableA[height][width]) == tableB[height][width]) 

あなたがあなたの機能があるべき

if(tableA[height][width] == tableB[height][width]) 

ない

 if(tableA[height][width]) == tableB[height][width]) 
をやるべき

if(tableA[height][width] == tableB[height][width]) 
+0

ありがとう。私がすぐに入力する方法を覚えていない場合、私は自分自身をハングアップするかもしれません。笑。 – Larry

0

次のようになります。

int compareTables (TableType tableA, TableType tableB) 
{ 
    int height, width; 
    for (height = 0; height < HEIGHT; height++) { 
     for (width = 0; width < WIDTH; width++) { 
      if(tableA[height][width] == tableB[height][width]) 
       return LIFE_NO; 
     } 
    } 
    return LIFE_YES; 
} 
+0

助けてくれてありがとう。タイプミスは私を殺すつもりです。 – Larry