gpt4 book ai didi

c++ - 使用 bool 函数忽略输入到数组中的重复元素

转载 作者:行者123 更新时间:2023-11-28 01:44:47 25 4
gpt4 key购买 nike

我最多可以将 100 个元素(非负)放入数组中。我必须忽略重复元素。我编写的代码基本上包含每个非负元素,但它不会忽略重复。我写了一个 bool 函数 ifExists:

bool ifExists(int array[], int size, int value)
{
bool isThere = false;
for (int i = 0; i < size; i++)
{
if (array[i] == value)
{
isThere = true;
}
}
return isThere;
}

我在接受用户输入的函数中调用这个函数:

void getInput(int myArray[], int &numItem)
{
int checkNum, number, count;

cout << "Enter a number (- to quit): ";
cin >> number;

count = 0;
while ((number > 0) && (count < 100))
{
if (!ifExists(myArray, numItems, number))
{
list[count] = number;
count++;
}
if (count < 100) //&& !checkIfExists(list, numItems, number))
{
cout << "Enter a number (negative to quit): ";
cin >> number;
}
else {
cout << "no more space." << endl;
}
}
numItems = count;
}

我想我写错了 ifExists。这个想法是 getInput 应该忽略用户的重复输入,只向我的数组添加唯一值。但是,当我打印数组时,情况并非如此。谁能帮助我判断我的 ifExists 是否被正确调用?

最佳答案

您不要在任何地方设置 numItems 的值,除非是在循环之后,因此您的 IfExists 总是获得 0 的值并且不会循环。将其更改为计数,它会跟踪数组中有多少个数字。

关于c++ - 使用 bool 函数忽略输入到数组中的重复元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45605892/

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