Отредактировать текст, удалив из него слова, которые уже встречались в предложении ранее - C (СИ)

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

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

В консоли ввести текст с повторяющимися словами. Отредактировать заданный текст, удалив из него слова, которые уже встречались в предложении ранее.
Написала только..Вводим строку и выводим её..дальше ступор
#include "stdafx.h"
#include <stdio.h>
#include <locale.h>
#include <string.h>
 
int main(int argc, char *argv[])
{
setlocale(LC_ALL, "Russian");
char str[256];
printf("Введите строку: "); gets_s(str);
puts(str);
_gettch();
return 0;
}
Есть код, но он нерабочий.. http://forum.codenet.ru/q16786/ как исправить? Помогите, пожалуйста!

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

textual
Листинг программы
#include <stdio.h>
#include <string.h>
 
int main(void)
{
    char buf[BUFSIZ];
    char buf_[BUFSIZ];
    while (printf("String: ") && fgets(buf, BUFSIZ, stdin) && *buf!='\n') {
        printf("Result string: ");
        strcpy(buf_, buf);
        for (char* ptr = strtok(buf, DELIM); ptr;  ptr = strtok(NULL, DELIM))
            if ((buf_- strstr(buf_, ptr)) == (buf - ptr)) printf("%s ", ptr);
        putchar('\n');
    }
    return 0;
}

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

  1. Подключение необходимых библиотек для работы с файлами и строками
  2. Объявление переменных: буфер для ввода пользователя, буфер для результата, указатель на первый символ в строке
  3. Вход в цикл, который будет выполняться до тех пор, пока пользователь вводит строку и нажимает Enter
  4. Очистка предыдущего результата
  5. Разделение исходной строки на слова и удаление из нее уже встречающихся слов
  6. Вывод результата на экран
  7. Выход из программы при достижении условия окончания работы

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


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

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

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