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

0 голосов
68 просмотров

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


Информатика (499 баллов) | 68 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

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 баллов)
0

Не отформатировал сайт: 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.

0

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

0

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

0

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

0

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

0

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

0

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

0

Спасибо:)