gpt4 book ai didi

c++ - 将一个数组复制到另一个数组而不重复 C++

转载 作者:行者123 更新时间:2023-11-27 23:14:21 24 4
gpt4 key购买 nike

问题是,我有一个包含 10 个整数的数组,其中有一些重复项。任务是将此数组复制到另一个大小相同但没有重复值的数组。即从array1中读取一个元素,与array2中的所有元素进行比较,如果它已经在array2中,则跳过它或者打印它已经在array2中,转到array1的第二个元素,并重复该过程。现在,我试过了,但不知道问题出在哪里:

#include <iostream>
using namespace std;

int main()
{
int temp;

int array1[] = {10,2,5,4,10,5,6,9,8,10};
int array2[11] = {0};

for(int i = 1; i <= 10; i++)
{
temp = array1[i-1];

for(int j = 1; j <= 10; j++)
{
if(temp == array2[j])
{
cout << "Duplicate " << temp << endl;
i++;
break;
}
}

array2[i] = array1[i-1];
}

for(int k = 1; k <= 10; k++)
cout << array2[k] << " " << endl;
system("pause");
}

最佳答案

array1 有 10 个元素,array2 有 11 个元素,所以马上就没有满足要求。据推测,拥有 11 个元素是在 for 循环中使用不正确索引值的解决方法;索引应该从 0 到 9,而不是从 1 到 10。

当您将一个元素添加到第二个数组时,您应该只根据已经添加的元素检查它的值,而不是检查整个数组中的值。

最后,还有一个规范不足。一旦你消除了重复项,你的元素就会少于 10 个; array2 有 10 个元素;额外的元素应该有什么值?

关于c++ - 将一个数组复制到另一个数组而不重复 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17573370/

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