【发布时间】:2015-08-11 15:36:04
【问题描述】:
我正在尝试编写用于比较两个二维数组的代码。对于第一个数组的每一行,如果程序可以在第二个数组中找到一个简单的行,则行应该返回 0,否则它应该返回 1。但我不知道为什么它不起作用。请指导我。 `
int 测试 = 0;
for (int i = 0, q = 0; i < arr.m && q < arr.m; i++, q++)
{
for (int j = 0, w = 0; j < arr.m && w < arr.m; j++, w++)
{
if (a[i, j] == b[q, w])
{ test = 0; }
else
{
q++;
w = 0;
if (a[i, j] == b[q, w])
{ test = 0; }
else
test = 1;
}
}
}
if (test == 1)
{
MessageBox.Show("two graphs are different ");
} `
arr.m 是数组元素的数量,我应该记住,两个图的每一行都在 . 我的意思是:
{ { 1 },{ 7, 8 ,3}, { 3, 4 }, { 5, 6 } }
{ { 3, 4 },{ 1 }, { 5, 6 }, { 7, 8,3 } } 我如何证明这两个数组具有相同的元素,尽管它们的位置不同。
【问题讨论】:
-
在“else”中你应该退出循环。
-
如果我在程序中使用上述数组,MessageBox.Show() 将无法正常工作
-
如何排序?如果它们都以相同的方式排序,那么元素的顺序也会相同,对吧?
-
每一行已经单独排序,例如上面的例子:{{1},{3,7,8},{3,4},{5,6}} {{3,4} ,{1},{5,6},{3,,8}}