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