Другие языки программирования и технологии

Как создать массив-выборку?

По правилу : есть рандомная строка. Нужно создать массив с символами, которые есть в этой строке. Каждый символ не должен повторятся.
Пример. Фраза "собака ушла". Массив должен выглядеть так : "с, о, б, а, к, ,у, ш, л". (пробел тоже взял как символ) .
Подскажите алгоритм/цикл.
C++

#include <iostream>
#include <string>
using namespace std;
enum user { INPUT, OUTPUT };
char * arr(size_t);
void message(short);
int main() {
string str;
message(INPUT); getline(cin, str);
size_t buf = str.size() + 1;
char * t = arr(buf);
char * a = arr(buf);
strcpy_s(t, buf, str.c_str());
size_t k = 0, m;
for (size_t n = 0; n < buf; n++) {
for (m = 0; m < n; m++) if (t[m] == t[n]) break;
if (m == n) a[k++] = t[n];
}
message(OUTPUT);
string result = a;
cout << endl << a << endl;
delete[] t;
delete[] a;
cin.get(); cin.get();
return 0;
}
char * arr(size_t size) {
char * ptr = new char [size];
for (size_t n = 0; n < size; n++) ptr[n] = '\0';
return ptr;
}
void message(short command) {
setlocale(LC_CTYPE, "Russian_Russia.1251");
switch (command) {
case INPUT: cout << "Введите строку: "; break;
case OUTPUT: cout << "Результат: "; break;
} setlocale(LC_CTYPE, "English_United States.866");
}
AT
Ashot Torosyan
87 800
Лучший ответ
сканируешь массив и делаешь выборку
Антон Матюшин
Антон Матюшин
42 602
_исходная_строка типа строка
_сим текущий символ типа символ
_символы []
Для и=0 по и=Длина_строки (_исходная_строка) -1 цикл
_сим=ПолучитьПодстроку (и, 1)
_символы [и] =_сим
Конец Цикла

В Си строка и так массив
В Делфи почти как массив - можно обратиться через индекс
В пхп перле питоне тож самое
В СТЛ можно строку преобразовать в указатель на символьный массив или перебрать символы через итератор