Вопрос задан 26.02.2019 в 21: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.
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Горбацкий Александр.
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.
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Перенастройка вывода программы на строки в Pascal

Чтобы изменить вывод программы на строки в Pascal, вам необходимо использовать цикл `for` или `while`, а также использовать функцию `writeln` для вывода каждой строки в отдельности.

Вот пример перенастройки вашей программы на вывод строк в столбик:

```pascal var p, s: string; k: byte; i: integer; begin readln(p); readln(s); s := '+' + s + '+'; p := '+' + p + '+'; for i := 1 to length(s) do begin if s[i] = ' ' then writeln else write(s[i]); end; repeat k := pos(p, s); if k > 0 then delete(s, k, length(p) - 1); until k = 0; writeln(s); end. ```

В этом примере мы добавили цикл `for` для посимвольного вывода строки `s` в столбик. Если символ является пробелом, мы переходим на новую строку с помощью `writeln`. Затем мы выполняем вашу исходную программу для удаления заданного слова.

Надеюсь, это поможет вам решить проблему с выводом строки в столбик. Если у вас возникнут еще вопросы, пожалуйста, дайте мне знать!

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос