Предмет: Информатика,
автор: youngG0d
PascalABC. Вставить после каждого слова исходной строки, заканчивающегося на букву «о», слово «Ого». Уже видел решение этой задачи, но там программа выполнялась только когда после символа "о" стоял пробел. Т.е. когда слово с "о" на конце было последним и нужно было нажать enter для окончания ввода, программа не выполнялась, требовался пробел. Если хотите что-либо уточнить, задайте вопрос, но только по делу
Ответы
Автор ответа:
0
program ogo;
var t,s: string; n,m,i: integer;
begin
writeln ('Введите строку:');
readln (t);
n:=length(t); //длина исходной строки
s:=' ого'; //вставляемый фрагмент
m:=length(s); //длина вставки
i:=2;
while i<=n do //через while, т.к. нужно изменять счетчик вручную
begin
if (((t[i-1]='О') or (t[i-1]='о')) and (ord(t[i])<160))
then begin
insert(s,t,i); //вставка ого;
n:=length(t); //новая длина строки
i:=i+1+m; //перескакиваем через вставку
end
else
if (((t[i]='О') or (t[i]='о')) and (i=n)) //проверку последнего символа пришлось вынести отдельно
then begin
insert(s,t,i+1);//вставка ого;
n:=length(t); //новая длина строки
i:=i+1+m;
end
else i:=i+1;
end;
writeln (t)
end.
______________________
Пример:
Введите строку:
О, как прекрасно это море! Как красиво это небо
О ого, как прекрасно ого это ого море! Как красиво ого это ого небо ого
var t,s: string; n,m,i: integer;
begin
writeln ('Введите строку:');
readln (t);
n:=length(t); //длина исходной строки
s:=' ого'; //вставляемый фрагмент
m:=length(s); //длина вставки
i:=2;
while i<=n do //через while, т.к. нужно изменять счетчик вручную
begin
if (((t[i-1]='О') or (t[i-1]='о')) and (ord(t[i])<160))
then begin
insert(s,t,i); //вставка ого;
n:=length(t); //новая длина строки
i:=i+1+m; //перескакиваем через вставку
end
else
if (((t[i]='О') or (t[i]='о')) and (i=n)) //проверку последнего символа пришлось вынести отдельно
then begin
insert(s,t,i+1);//вставка ого;
n:=length(t); //новая длина строки
i:=i+1+m;
end
else i:=i+1;
end;
writeln (t)
end.
______________________
Пример:
Введите строку:
О, как прекрасно это море! Как красиво это небо
О ого, как прекрасно ого это ого море! Как красиво ого это ого небо ого
Автор ответа:
0
Ну как? Почиталось?
Автор ответа:
0
Да, спасибо большое)
Похожие вопросы
Предмет: Математика,
автор: VladLLuks
Предмет: Алгебра,
автор: tarasrvaviktoria
Предмет: Химия,
автор: adelinafomenko110920
Предмет: Обществознание,
автор: vikatabokova