gpt4 book ai didi

c++删除数组中的重复名称

转载 作者:太空宇宙 更新时间:2023-11-03 10:25:58 25 4
gpt4 key购买 nike

编辑:非常感谢大家,songyuanyao 回答了我的问题,你们做了哈哈,但我不知道你输入的一些代码,我相信我很快就会学会它们:)再次感谢。

我真的有一个关于删除字符串中重复名称的问题,请注意,我对 C++ 还很陌生,无论如何我都会切入正题。我想做的是删除数组中的重复名称,下面的代码工作正常,但这是我面临的问题。例如我输入了 4 个名字:(Hana、Alex、Hana、Alex)我想要得到的结果只是:(Hana 和 Alex)而其他 2 个名字应该被删除但我得到的是(Hana、Alex、Alex ).我真的很困惑我应该怎么做才能解决这个问题,我希望它检查列表中的每个名字,提前致谢:)。

#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;
string nurse[4];
int i, n=3, j, k, num;
int main()
{
cout << "Please Enter names to add to the list --->";
for (i = 0; i <= n; i++)
{
cin >> nurse[i];
}

for (int i = 0; i < n; i++)
{
for (j = i + 1; j < n;)
if (nurse[j] == nurse[i])
{
for (k = j; k < n; k++)
{
nurse[k] = nurse[k + 1];

}
n--;
}
else
{
j++;
}
}
cout << "Printing list after removing duplicated names" << endl;
for (i = 0; i <= n; i++)
cout << " "<<nurse[i] << endl;

system("pause");
return 0;
}

最佳答案

#include <string>
#include <vector>
#include <algorithm>

using namespace std;

// ...

vector<string> nurses;
nurses.push_back("Hana");
nurses.push_back("Alex");
nurses.push_back("Hana");
nurses.push_back("Alex");
sort(nurses.begin(), nurses.end());
const vector<string>::iterator it = unique(nurses.begin(), nurses.end());
nurses.erase(it, nurses.end());

关于c++删除数组中的重复名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35429369/

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