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

Ответить
Plotva
Сообщения: 3
Зарегистрирован: 16 дек 2009, 18:09

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


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.
Хыиуду
Сообщения: 2442
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

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.
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
BHy4ok
Сообщения: 237
Зарегистрирован: 01 май 2007, 09:03
Откуда: г.Находка
Контактная информация:

[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]
< L3X. (ICQ: 8721378, Mail - l3x@list.ru)
Ответить