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