Страница 1 из 1

подскажите что делается в цикле

Добавлено: 16 дек 2009, 20:37
Plotva
изначальное задание.
переписать в предложении слова в обратном порядке


program predl;
var s1,s:string;
d:array[1..100] of string;
i,k:integer;
begin
writeln('текст: ');
readln(s)
k:=1;
for i:=1 to length(s) do begin подскажите пожалуста
if s=' ' then k:=k+1 что делается в этом цикле .
else d[k]:=d[k]+s;
end;
for i:=k downto 1 do begin
s1:=s1+d+' ';
end;
writeln(s,s1);
readkey
end.

Re: подскажите что делается в цикле

Добавлено: 17 дек 2009, 09:16
Хыиуду
for i:=1 to length(s) do begin подскажите пожалуста
if s=' ' then k:=k+1 что делается в этом цикле .
else d[k]:=d[k]+s;
end;
Во-первых, begin и end не нужны, во-вторых, здесь все слова из строки s заносятся в массив d.

Re: подскажите что делается в цикле

Добавлено: 17 дек 2009, 10:17
BHy4ok
[syntax=Pascal]
program predl;
var s1,s:string;
d:array[1..100] of string;
i,k:integer;
begin
writeln('текст: ');
readln(s);
k:=1;
for i:=1 to length(s) do // [убрали begin, end] Проверям каждый символ.
if s=' ' then k:=k+1 // если символ равен пробелу то увеличивает k на 1.
else d[k]:=d[k]+s; // иначе заносим символ в массив
for i:=k downto 1 do // [убрали begin, end]
s1:=s1+d+' ';
writeln(s,s1);
readkey;
end.

[/syntax]