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

Harsey
Aug 1, 2019
//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(ilt;=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
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(ilt;=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 pgt;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
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 pgt;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
245