用普通数组用c++编写程序,从字符串中取出互不相等的字符
时间: 2024-12-13 21:23:46 浏览: 7
在C++中,你可以使用普通数组来存储不重复的字符,通常我们会先创建一个空数组,然后遍历输入的字符串,对于每个字符,检查它是否已经存在于数组中,如果不存在就添加到数组中。以下是简单的步骤和示例代码:
```cpp
#include <iostream>
#include <string>
bool isUnique(char array[], int size) {
for (int i = 0; i < size; ++i) {
for (int j = i + 1; j < size; ++j) {
if (array[i] == array[j]) {
return false;
}
}
}
return true;
}
void extractUniqueChars(const std::string &input, char outputArray[]) {
int count = 0;
for (char c : input) {
if (!isUnique(outputArray, count)) {
// 如果数组已有该字符,跳过
continue;
}
outputArray[count++] = c;
}
outputArray[count] = '\0'; // 添加字符串结束符
}
int main() {
std::string str = "hello world";
char uniqueChars[26]; // 假设我们只处理小写字母,所以数组足够大
extractUniqueChars(str, uniqueChars);
std::cout << "Uniques from the string: ";
for (char c : uniqueChars) {
std::cout << c;
}
std::cout << std::endl;
return 0;
}
```
在这个例子中,`extractUniqueChars`函数会从给定的字符串中提取出所有不重复的小写字母,并保存到数组`uniqueChars`中。注意这里假设输入字符串只包含小写字母,并且数组大小为26(因为只有26个英文字母),实际应用中需要根据实际情况调整数组大小。
阅读全文