Оставить в слове только первые вхождения каждой буквы - C (СИ)
Формулировка задачи:
оставить в слове только первые вхождения каждой буквы.
Решение задачи: «Оставить в слове только первые вхождения каждой буквы»
textual
Листинг программы
#include <stdio.h>
int main() {
char word[128], res[128];
gets(word);
int symbols[256];
int i;
for (i = 0; i < 256; i++)
symbols[i] = 0;
int j = 0;
for (i = 0; word[i]; i++)
if (!symbols[(int) word[i]]) {
res[j++] = word[i];
symbols[(int) word[i]] = 1;
}
res[j] = 0;
puts(res);
return 0;
}
Объяснение кода листинга программы
- В коде используется язык программирования C.
- Программа считывает из стандартного ввода строку, представленную в виде массива символов.
- Создается пустой массив символов, который будет хранить результат.
- Создается массив символов, который будет использоваться для подсчета количества каждого символа в исходной строке.
- Происходит итерация по каждому символу в исходной строке.
- Если символ еще не встречался, то он добавляется в результат и его счетчик увеличивается.
- Результат выводится на стандартный вывод.
- Возвращается 0, что означает успешное выполнение программы.