Naeel Maqsudov » 18 ноя 2008, 11:08
Т.е. будем считать что есть массив A[1..N], но последовательность завершается нулем где-то в середине. И надо последнее число > 10, предшествующее этому нулю. Можно сделать в 1 проход.
Код: Выделить всё
i:=1; idx10=-1;
while (i<=N) and (a[i]<>0) do begin {просматриваем до нуля или до конца}
if a[i]>10 then idx10=i; {если >10, то запоминаем где оно}
inc(i);
end;
if i>N
then writeln('не встерился 0')
else
if idx10=-1
then writeln('не нашлось чисел > 10')
else writeln('последнее число >10 (',a[idx10],') найдено в позиции ',idx10);
Т.е. будем считать что есть массив A[1..N], но последовательность завершается нулем где-то в середине. И надо последнее число > 10, предшествующее этому нулю. Можно сделать в 1 проход.
[code]
i:=1; idx10=-1;
while (i<=N) and (a[i]<>0) do begin {просматриваем до нуля или до конца}
if a[i]>10 then idx10=i; {если >10, то запоминаем где оно}
inc(i);
end;
if i>N
then writeln('не встерился 0')
else
if idx10=-1
then writeln('не нашлось чисел > 10')
else writeln('последнее число >10 (',a[idx10],') найдено в позиции ',idx10);
[/code]