Оставить в слове только первые вхождения каждой буквы - 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, что означает успешное выполнение программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д