Создать новое предложение из вырезанных слов двух старых - C (СИ)
Формулировка задачи:
Всем доброго для, прошу помочь в одной задачке на си, раньше си не учил - вот сейчас понадобился. Собственно задача звучит так:
Ввести два строки символов. С каждого из них вырезать нужные слова и создать новое предложение из вырезанных слов.
Заранее благодарен!
Актуально, добрые люди помогайте)
Решение задачи: «Создать новое предложение из вырезанных слов двух старых»
textual
Листинг программы
#include <stdio.h> #include <string.h> #include <ctype.h> //----------------------------------------------------------------------------- char* getstr(char* str, size_t len) { char* p; if ((p = fgets(str, len, stdin)) != NULL) { for (; *p && *p != '\n'; ++p) { ; } if (*p == '\n') { *p = 0; } } return str; } //----------------------------------------------------------------------------- char* cutword(char* str, const char* word) { char* p = str; size_t len = strlen(word); while ((p = strstr(p, word))) { if (((p == str) || (!isalpha(*(p - 1)))) && (!isalpha(*(p + len)))) { memmove(p, p + len, strlen(p + len) + 1); } else { p += len; } } return str; } //----------------------------------------------------------------------------- int main() { char str1[128], str2[128], str3[512] = { 0 }; char word[32]; printf("first: "); getstr(str1, sizeof(str1)); printf("second: "); getstr(str2, sizeof(str2)); while (1) { printf("excluded: "); if (*getstr(word, sizeof(word)) == 0) { break; } strcat(str3, word); strcat(str3, " "); cutword(str1, word); cutword(str2, word); printf("\n-------\n"); printf("first: %s\n", str1); printf("second: %s\n", str2); printf("last: %s\n", str3); } return 0; }
Объяснение кода листинга программы
- Вначале, программа запрашивает у пользователя ввод двух строк.
- Затем, программа запрашивает у пользователя ввод слова, которое нужно исключить из обеих строк.
- После этого, программа добавляет это слово в конец третьей строки и разделяет все три строки пробелом.
- Затем, программа использует функцию 'cutword' для удаления указанного слова из первых двух строк.
- Этот процесс повторяется до тех пор, пока пользователь не введет пустую строку.
- После этого, программа выводит исходные строки, а также итоговую строку с исключенными словами.
- В конце программы, все три строки очищаются, и программа завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д