c++问题求救
Input:
第一行为组数T ( 1<=T<=10000 ) , 后面输入T组测试数据.每组为一个3*3的整数矩阵,每个矩阵前空一行.
Output:
对于每一组3*3的矩阵,如果他满足上述九宫格的定义,则输出”Cheers!” 否则,输出”OmyGa!”.
我的代码
#include<iostream>
#include<string>
#include<vector>
using namespace std;
void main()
{
int a[3][3];
int n;
cin>>n;
for(int i=0;i<n;i++)
{
int x=0;
cout<<'\n';
for(int j=1;j<=3;j++)
for(int k=1;k<=3;k++)
cin>>a[j][k];
for(int l=1;l<=3;l++)
{
if(a[l][1]+a[l][2]+a[l][3]==15)
x++;
if(a[1][l]+a[2][l]+a[3][l]==15)
x++;
}
if(a[1][1]+a[2][2]+a[3][3]==15)
x++;
if(a[1][3]+a[2][2]+a[3][1]==15)
x++;
if(x==8)
cout<<"Cheers!"<<endl;
else
cout<<"OMyGa!"<<endl;
}
}
为什么每次要结束时都报错........而且acm提交是wrong answer
[解决办法]
数组定义成matrix[3][3] 那么matrix[0][0]就是第一行的第一个元素 懂否
matrix[2][2]是第三行最后一个元素 你的下表已经越界了