Составить программу на языке Паскаль, которая удалит третье слово в тексте, который состоит из 5 слов. Текст нужно придумать самостоятельно.

На проверку нужно прислать скриншот с кодом программы на Паскале и результаты работы. Программная реализация обязательна.

Ответы

Ответ дал: Ziorar
0

Например, так можно сделать (программа удаляет третье слово только если текст состоит из пяти слов):

var

s,t: string;

i,c: integer;

begin

s:='один два три четыре пять';

for i:=1 to length(s) do

begin

if (s[i]<>' ') and ((i=1) or (s[i-1]=' ')) then c:=c+1;

if c<>3 then t:=t+s[i];

end;

if c=5 then s:=t;

write(s);

end.

Приложения:

MrSolution: Есть гораздо более оптимальное решение, которое я привел первым в своем ответе.
Ziorar: Это да, соколько сталкивался- программа в виде такой цепочки обычно гораздо короче оказывается. Насколько я понимаю, из за большого числа готовых функций, которые охватывают многие встречающиеся задачи. Я, правда не сумел бы так написать, маловато знаю для этого. Поэтому так уж, по старинке, но вроде должно быть более понятно. Хотя, я логики нагородил слегка (просто хотел, чтобы количество пробелов до/после/между словами не влияло на результат).
Ответ дал: MrSolution
0

Ответ:

(см. объяснение)

Объяснение:

Решение задачи на PascalABC.NET:

##

ReadString.Split(' ').Where((x,i)->i<>2).Print;

Задание выполнено!

Комментарий:

Можно было решить задачу давно устаревшими в языке приемами.

var a,r: string;

   i,j: integer;

begin

 readln(a);

 i:= 0;

 j:= 0;

 while(j<length(a)) do

 begin

   j:= j+1;

   if(i<>2) then r:= r+a[j];

   if(a[j]=' ') then i:= i+1;

 end;

 writeln(r);

end.

Вас заинтересует