Паскаль. Дана строка. В конце каждого слова добавить "!" Начало, чтобы было таким: var...

0 голосов

Паскаль. Дана строка. В конце каждого слова добавить "!"
Начало, чтобы было таким:
var a:string; i,k:integer;
begin
writeln('введи строку:');
readln(a);
for i:= 1 to length(a) do
if a[i]


спросил от Начинающий (499 баллов) в категории Информатика
1 Ответ
0 голосов
ответил от Начинающий (313 баллов)
 
Лучший ответ

Var a:string; i,k:integer; begin writeln('введи строку:'); readln(a); for i:= 1 to length(a) do if (a[i]=' ') and (k=0) then begin insert('!',a,i); k:=1; end else k:=0; insert('!',a,length(a)+1); writeln(a); end. //k выступает в программе в роли переключателя, после того как пробел считывается происходит ошибка: этот пробел начинает считываться бесконечно, поэтому нам необходимо пропустить один символ (тот самый пробел)

оставил комментарий от Начинающий (313 баллов)

Не отформатировал сайт: var a:string; i,k:integer;
begin
writeln('введи строку:');
readln(a);
for i:= 1 to length(a) do
if (a[i]=' ') and (k=0) then begin
insert('!',a,i);
k:=1;
end else k:=0;
insert('!',a,length(a)+1);
writeln(a);
end.

оставил комментарий от Начинающий (499 баллов)

insert не проходили:с

оставил комментарий от Начинающий (313 баллов)

Как то даже нет идей как сделать это при условии того, что начало программы нам уже дано.

оставил комментарий от Начинающий (313 баллов)

аюА функция Insert(a,b,n) крайне простая: a - первая строка, которая вставляется в строку b, начиная с символа n.

оставил комментарий от Начинающий (313 баллов)

Например есть строка a:='Мама мыла раму'; и строка b:='усердно ', если выполнить функцию insert(a,b,5), то строка b встанет после 5го символа (пробел), и строка a примет значение == 'Мама усердно мыла раму

оставил комментарий от Начинающий (499 баллов)

мне бы так понимать паскаль! :с И за это спасибо!)

оставил комментарий от Начинающий (313 баллов)

Не за что :) . Успехов в изучении

оставил комментарий от Начинающий (499 баллов)

Спасибо:)

...