Дан одномерный массив, который содержит не более 60 символов, которые образуют слова, разделенные пробелом. заменить слово «mama» на слово «ded». написать программу в паскале abc. заранее !
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
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