Информатика, опубликовано 09.01.2019 16:01
Переделать вывод программы на строки.
Паскаль. Как перенастроить на то, чтобы выводилось в столбик?
Программа выводит строку, из которой удаляется заданное слово. Проблема в том, что строка выводится также горизонтально, как и задавалась. Прошу помощи!
Пример:
boat
load cargo to the boat truck
load
cargo
to
the
truck
Может мне стоит использовать другой цикл?
var
p, s: string;
k: byte;
begin
readln(p);
readln(s);
s := ' ' + s + ' '; // можете пояснить зачем нужны две эти строки? На практике если их убрать, то будет удаляться не все слово, а точнее будет оставаться последняя буква. Может можно это как-то исправить и без этих строк?
p := ' ' + p + ' ';
repeat
k := pos(p, s);
if k > 0 then delete(s, k, length(p) - 1);
until k = 0;
writeln(s);
end.
Ответ оставил: Гость
Var p, s: string; k, l: byte; begin readln(p); readln(s); s : = ' ' + s + ' '; // строка нужна для корректного удаления первого и/или последнего слова p : = ' ' + p + ' '; // строка нужна для удаления слова, а не последовательности символов в слове l : = length(p) - 1; repeat k : = pos(p, s); if k > 0 then delete(s, k, l); until k = 0; for var i: =1 to length(s) do if s[i]< > ' ' then write(s[i]) else writeln; end.
Информатика, опубликовано 09.01.2019 16:01
Информатика, опубликовано 09.01.2019 16:01
Информатика, опубликовано 09.01.2019 16:01
Информатика, опубликовано 09.01.2019 16:01