gpt4 book ai didi

C 函数计算数组中的唯一列

转载 作者:行者123 更新时间:2023-11-30 17:45:15 25 4
gpt4 key购买 nike

在为程序编写工作函数时遇到问题,函数需要给出列元素不重复的列数。

例如数组:

  • 1 2 3 4
  • 1 3 1 1
  • 2 2 2 2

本例中的 uniqueColumns 为:

  • 3 4
  • 1 1
  • 2 2

程序应该给出:2!

这是代码部分,

int uniqueColumns = 0;
int fail;

for (int currentColumn = 0; currentColumn < totalColumns; currentColumn++)
{
fail = 0;
for (int currentRow = 0; currentRow < totalRows; currentRow++)
{
for (int rowOffset = currentRow + 1; currentRow < totalRows; currentRow++)
{
if (array[currentRow][currentColumn] == array[currentRow+rowOffset][currentColumn])
{
fail = 1;
break;
}
else
{
fail = 0;
}
}
if (fail == 1)
{
break;
}
}

if (fail == 0)
{
uniqueColumns++;
}
}

最佳答案

我认为缺少的问题是“为什么我的代码不起作用?”

<小时/>

这可能不是您唯一的问题,但一定是一个。您正在比较:

array[currentRow][currentColumn] == array[currentRow+rowOffset][currentColumn]

当您的 rowOffset 范围从 currentRow+1 向上时。这显然不是你想要的。比较一下就好了

array[currentRow][currentColumn] == array[rowOffset][currentColumn]

或者rowOffset范围从1以上。

<小时/>

我可能完全错了,但我认为这是一个编程练习。如果是这样,我认为你的老师很可能希望你做一些更聪明的事情来检测重复元素,而不是比较所有对。您知道数组元素的值吗?如果是的话,你能想出更好的办法吗?

关于C 函数计算数组中的唯一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19692365/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com