gpt4 book ai didi

c++ - 从数组中删除重复项的算法不起作用

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:23:23 25 4
gpt4 key购买 nike

我有一个 char 数组,它有一些重复的值:

A B C D E F E A

这是我删除重复值的算法:

char array[20] = {'A', 'B', 'C', 'D', 'E', 'F', 'E', 'A'};
int length = 8;

for (int i = 0; i < length; i++)
{
for (int j = i + 1; j < length - 1; j++)
{
if (array[i] == array[j])
{
array[j] = array[j + 1];
length--;
}
}
}

EXPECTED OUTPUT: A B C D E F
OUTPUT: A B C D E F A

我曾尝试在论文中运行此算法,当我以书面形式执行此操作时似乎没问题,但它在我的应用程序中不起作用。

最佳答案

你应该在 if 语句中添加另一个 for 循环检查下面的代码:

char array[20] = {'A', 'B', 'C', 'D', 'E', 'F', 'E', 'A'};

整数长度 = 8;

for(int i = 0; i <= length; i++){

for(int j = i+1; j <= length; j++){

if(array[j] == array[i]){

for(int x = j+1; x <=length; x++){

array[j]=array[x];

}
length--;
}

}

}

for(int z = 0; z <= length; z++){
cout << array[z] << " ";
}
cout << endl;

关于c++ - 从数组中删除重复项的算法不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26736498/

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