Программа Си ++. В заданном тексте заменить одно слово другим (слова разной длины).


//В заданном тексте заменить одно слово другим (слова разной длины).
#include
#include
#include
void main()
{
clrscr(); //очистка экрана
char str[250],slovo[10], noslov[10];
int ps1,ps2,ps3,i=0,n=0,st=0,p=0;
puts(«Введите строку\n»);
gets(str);
puts(«Введите слово\n»);
gets(slovo);
puts(«Введите новое слово\n»);
gets(noslov);
ps1=strlen(noslov);//определяем длину строки
ps3=strlen(slovo); //определяем длину строки

for(i=0;i<250;i++) {n=0; st=0;p=i; while(str[p]!='_') { if(str[p]==slovo[n]) st++;//совпадения p++;//передвигаемся на следущею букву в строке n++;//передвигаемся на следущею букву в слове } if(st==ps3) ps2=i; //нахождения номера ячейки с которой начинается //заменяемое слово } //ps2=strstr(str,slovo); //нахождения ячейки массива с которой начинается слово n=ps1-ps3; //определяем разницу if(n>0)
{
for(i=250;i>=ps2;i—) //сдвигаем масив вправо на n элементов
str[i]=str[i-n];
}

else
{
for(i=ps2;i<250;i++) //сдвигаем масив ввлево на n элементов str[i]=str[i-n];//отнимаем сдвиг потому что он отрецательный } for(i=ps2;i

Загрузка...