Оставить в слове только первые вхождения каждой буквы - 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;
}

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

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

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


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

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

9   голосов , оценка 4.222 из 5
Похожие ответы