三目並べゲーム - 関数パラメータの配列を使用する必要があります

する#include <stdio.hに>
する#include <iostreamの>
使用して名前空間STD;
の#defineサイズ3。
ボイド入力(A INT [] [サイズ]、N-INT);
ボイド出力(N-INT);
INT whoiswin(A INT [] [サイズ]、N-INT);
int型のmain(){
int型の音楽[サイズ] [サイズ];
INPUT(音楽、サイズ)、      関数パラメータ//名として配列に直接書き込む
のint X;
X = whoiswin(音楽、サイズ)。
出力(X);
戻り0;
}
ボイドINPUT(INT [] [サイズ]、N-INT)    //配列のサイズを可変に通すことによって前に述べた
{
、JをI int型、
ため(I = 0;私は< N-; I ++)
{
ため(J = 0; J <N-; J ++)
{
CIN >> A [I]、[J];
}
}
}
ボイド出力(N-INT)
{
スイッチ(N-){
-1ケース:COUT << "NO"; BREAK;
ケース0:COUT << "0"; BREAK;
。ケース1:「1" COUT <<; BREAK;
}
}
int型whoiswin(A INT [] [サイズ]、 INT N-)
{
Iは、J int型、
フラグのint = -1;
INT hang1、hang0、lie1、lie0;
INT zuo1、zuo0、you1、you0;
//はまた、行と列をチェック
(i = 0; iが< N &&フラグ= = -1; I ++)    //行と列を確認しながら参照することができ少しスキルを持っている
{
hang1 = hang0 = lie1 = lie0 = 0;
のため(J = 0; J <N-; J ++)
{
IF([I] [ J] == 1)
{
hang1 ++;
}他{
hang0 ++;
}
IF([J] [I] == 1)
{
lie1 ++;
}他{
lie0 ++;
}
IF(hang1 == == N-N-lie1 ||)
{
=フラグに1。
}他(hang0 == N || lie0 == N){もし
フラグ= 0。
}
}
}
//检查对角线
zuo1 = zuo0 = you1 = you0 = 0。
用(i = 0; iは<N &&フラグ== - 1; iは++)
{
IF([I] [I] == 1)
{
zuo1 ++。
}他{
zuo0 ++。
}
IF([I] [サイズ-I-1] == 1)
{
you1 ++。
}
他{
you0 ++。
}
(zuo1 == N || you1 == N)の場合
{
フラグ= 1。
}他(zuo0 == N || you0 == N){もし
フラグ= 0。
}
}
フラグを返します。
}

おすすめ

転載: www.cnblogs.com/BananaMan/p/11184725.html