我有两个 char 数组(都是 [10][10]),我想将第一个数组中的每个元素与另一个数组中的相同元素进行比较,如果它们相似则返回 1。 数组:
char task [10][10] = {
{ ' ', ' ', ' ', ' ', ' ', ' ',' ', ' ', ' ', ' ' },
{ ' ', ' ', ' ', ' ', ' ', ' ',' ', ' ', ' ', ' ' },
{ ' ', ' ', ' ', ' ', ' ', t,' ', ' ', ' ', ' ' },
{ ' ', ' ', ' ', t, ' ', ' ',t, ' ', ' ', ' ' },
{ ' ', ' ', t, t, t, t,t, t, ' ', ' ' },
{ ' ', ' ', t, ' ', ' ', ' ',' ', t, ' ', ' ' },
{ ' ', ' ', t, ' ', ' ', ' ',' ', t, ' ', ' ' },
{ ' ', ' ', t, ' ', ' ', ' ',' ', t, ' ', ' ' },
{ ' ', ' ', t, t, t, t,t, t, ' ', ' ' },
{ ' ', ' ', ' ', ' ', ' ', ' ',' ', ' ', ' ', ' ' },
};
char solution [10][10] = {
{ ' ', ' ', ' ', ' ', ' ', ' ',' ', ' ', ' ', ' ' },
{ ' ', ' ', ' ', ' ', ' ', ' ',' ', ' ', ' ', ' ' },
{ ' ', ' ', ' ', ' ', t, t,' ', ' ', ' ', ' ' },
{ ' ', ' ', ' ', t, ' ', ' ',t, ' ', ' ', ' ' },
{ ' ', ' ', t, t, t, t,t, t, ' ', ' ' },
{ ' ', ' ', t, ' ', ' ', ' ',' ', t, ' ', ' ' },
{ ' ', ' ', t, ' ', ' ', ' ',' ', t, ' ', ' ' },
{ ' ', ' ', t, ' ', ' ', ' ',' ', t, ' ', ' ' },
{ ' ', ' ', t, t, t, t,t, t, ' ', ' ' },
{ ' ', ' ', ' ', ' ', ' ', ' ',' ', ' ', ' ', ' ' },
};
其中 t: char t = -2; (立方体) 我正在尝试这样的事情:
bool cond (char task[10][10], char solution[10][10])
{
for (int i = 0; i < 10; i++)
{
for (int j = 0; j < 10; j++)
{
if (strcmp(task[i][j], solution[i][j]))
}
}
}
主要是:
do
{
XxX(zadanie);
wpisz(kolor,w1,w2,zadanie,t);
}
while (!cond(task,solution));
cout << "Solved";
但它没有用,从 char 到 *char 的转换有一些问题,我不知道如何解决它。对于经常编写代码的人来说,这可能是显而易见的,但我不是其中之一..
最佳答案
@斯卡佩特 您的答案将覆盖每次迭代的结果。尝试这样的事情:
bool warunek (char task[10][10], char solution[10][10])
{
for (int i = 0; i < 10; i++)
{
for (int j = 0; j < 10; j++)
{
if (task[i][j] != solution [i][j])
{
return false;
}
}
}
return true;
}
此外,您不必迭代到末尾,因为它会在第一次不匹配时停止。
关于c++ - 比较两个 char 多维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40934523/