Оставить в слове только первые вхождения каждой буквы - C (СИ)

Узнай цену своей работы

Формулировка задачи:

оставить в слове только первые вхождения каждой буквы.

Решение задачи: «Оставить в слове только первые вхождения каждой буквы»

textual
Листинг программы
  1. #include <stdio.h>
  2.  
  3. int main() {
  4.     char word[128], res[128];
  5.     gets(word);
  6.    
  7.     int symbols[256];
  8.     int i;
  9.     for (i = 0; i < 256; i++)
  10.         symbols[i] = 0;
  11.     int j = 0;
  12.     for (i = 0; word[i]; i++)
  13.         if (!symbols[(int) word[i]]) {
  14.             res[j++] = word[i];
  15.             symbols[(int) word[i]] = 1;
  16.         }
  17.     res[j] = 0;
  18.    
  19.     puts(res);
  20.     return 0;
  21. }

Объяснение кода листинга программы

  1. В коде используется язык программирования C.
  2. Программа считывает из стандартного ввода строку, представленную в виде массива символов.
  3. Создается пустой массив символов, который будет хранить результат.
  4. Создается массив символов, который будет использоваться для подсчета количества каждого символа в исходной строке.
  5. Происходит итерация по каждому символу в исходной строке.
  6. Если символ еще не встречался, то он добавляется в результат и его счетчик увеличивается.
  7. Результат выводится на стандартный вывод.
  8. Возвращается 0, что означает успешное выполнение программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.222 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы