Дан одномерный массив, который содержит не более 60 символов, которые образуют слова, разделенные пробелом. Заменить слово «mama» на слово «ded». Написать программу в паскале ABC. Заранее спасибо!!!

Дан одномерный массив, который содержит не более 60 символов, которые образуют слова, разделенные пробелом. Заменить слово «mama» на слово «ded». Написать программу в паскале ABC. Заранее спасибо!!!
Гость
Ответ(ы) на вопрос:
Гость
//PascalABC.NET 3.2 сборка 1318 Var   s:array[1..60] of char;   i,j,len:integer; begin len:=60; for i:=1 to 60 do read(s[i]); i:=1; while(i<=len-3) do begin   if (s[i]='m') and (s[i+1]='a') and (s[i+2]='m') and (s[i+3]='a') then     begin       s[i]:='d';       s[i+1]:='e';       s[i+2]:='d';       for j:=i+3 to len-1 do         s[j]:=s[j+1];       dec(len);     end;   inc(i); end; for i:=1 to len do write(s[i]); end.
Гость
Программа с массивом (хотя он тут и не нужен): var a:array[1..60] of char; st:string; i,p:integer; begin writeln('Введите массив символов:'); readln(st); writeln('Вот массив:'); for i:=1 to length(st) do   begin  a[i]:=st[i];  write(a[i]);  end; writeln; st:=' '+st+' '; p:=pos(' mama ',st); while p>0 do  begin  delete(st,p,6);  insert(' ded ',st,p);  p:=pos(' mama ',st);  end; writeln('Измененный массив:'); for i:=1 to length(st)-2 do   begin  a[i]:=st[i+1];  write(a[i]);  end; writeln; end. Пример: Введите массив символов: mama papa okno mama primer baba Вот массив: mama papa okno mama primer baba Измененный массив: ded papa okno ded primer baba
Не нашли ответ?
Ответить на вопрос
Похожие вопросы