【发布时间】:2018-11-19 22:02:53
【问题描述】:
我必须通过用户输入检查拉丁方是否为真。但我不知道如何做检查部分,它检查每一列和每一行是否有重复的数字。
这是我想出来的,但它似乎不能正常工作:
// arr= input by user in array, and n= array length by user input
bool latin(int**arr,int n)
{
int times=0;
int s;
for(int j=0;j<n;j++)
{
for(int i=0; i<n;i++){
if (arr[i][j]==s) times++;
}
}
if (times != 1) return false;
else return true;
}
【问题讨论】:
-
你想出了一个相当随机的代码,所以难怪它不能“正常工作”。我建议你先用笔和纸坐下来,用人类语言自己制定算法——想象你有一个非常听话但相当不老练的仆人,你正在向他们解释任务的顺序,他们必须执行。比尝试将其翻译成编程语言。还有一种有用的技术叫做rubberduckdebugging.com
-
那么
s到底是什么?
标签: c++ arrays multidimensional-array