Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > задача по консоле в delphi


Автор: WINDOZ 25.12.2004, 03:34
Дана последовательность целых чисел. Построить последовательность номеров позиций, откуда начинаются последовательности подряд идущих значений, расположенных в порядке убывания (в такой последовательности должно быть как минимум 2 элемента).
Вход
В каждой строке входа дано по одному элементу исходной последовательности. Признак конца последовательности - 0.
Выход
В каждую строку выхода вывести по одному элементу результирующей последовательности. Заключительный нуль в результат не выводить.
Пример
Вход:

4
5
4
3
8
3
5
2
0
Выход:

2
5
7

Автор: Fedor 25.12.2004, 08:33
Код
var
a:array[0..1000] of integer;
mas:array[1..1000] of word;
nomer:word;
i:word;
t:integer;
n:word;
nmas:word;
begin
a[0]:=-maxint+1;
t:=a[0];
i:=0;
while t<>0 do
 begin
   readln(t);
   if t<>0 then
    begin
      inc(i);
      a[i]:=t;
    end;
 end;
n:=i;
for i:=2 to n do
 begin
   if (a[i]<a[i-1]) and (a[i-1]>=a[i-2]) then
    begin
      inc(nmas);
      mas[nmas]:=i-1;
    end;
 end;
for i:=1 to nmas do
 writeln(mas[i]);
end.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)