Удалить из текста слова определенной длины - C (СИ)
Формулировка задачи:
Удалить из текста все слова короче 4 символов, а слова длиннее 7 символов заменить на указанное пользователем слово. Строки, в которых не было замен, расположить перед строками, в которых замены были. Вывести полученный текст на экран.
Буду очень благодарен даже за незначительную помощь.
Решение задачи: «Удалить из текста слова определенной длины»
textual
Листинг программы
#include "stdafx.h" #include <stdio.h> #include <conio.h> #include <string.h> #include <malloc.h> #define MAXLINE 86 #define MAXSTR 15 int main(void) { int i=0,lg[16],j=0,i2=0; char txt[MAXSTR][MAXLINE],sep[6],s[MAXSTR][MAXLINE]; char *word; puts("Enter array of separators: \n"); scanf("%s",sep); puts("Enter text: \n"); while(i<MAXSTR) { scanf("%s",txt[i]); i2=0; j=strlen(txt[i]); while(j>0) { s[i][i2]=txt[i][j-1]; i2=i2+1; j=j-1; } s[i][i2]='\0'; if (strlen(txt[i])==strlen(txt[i-1])) { if (strcmp(strtok(s[i],sep),strtok(s[i-1],sep))==0) {break;} } i=i+1; }; getch(); return 0; }
Объяснение кода листинга программы
В этом коде определен массив символов sep
, в который пользователю предлагается ввести разделительы для слов. Затем, после ввода текста, код разбивает каждый введенный текст на слова и сохраняет их в массиве s
. Если два последовательных слова имеют одинаковую длину и их первые слова совпадают после применения разделителя, то второе слово удаляется из массива. В конце пользователю предлагается нажать любую клавишу для выхода из программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д