Array37. Дан массив размера $$N$$. Найти количество участков, на которых его элементы монотонно возрастают.
Решение:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
program Array37; var a:array[1..10] of integer; N,i,Num:Integer; begin a[1]:=0; Write('N: '); Readln(N); for i:=1 to N do begin write(i,' :'); readln(a[i]); end; Num:=0; for i:=3 to N do if (a[i-2]<a[i-1]) and not(a[i-1]<a[i]) then inc(Num); if a[N-1]<a[N] then inc(Num); Writeln(Num); end. |
Решение2(чуть чуть изменено):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
program Array37; var a:array[1..10] of integer; N,i,Num:Integer; begin a[1]:=0; Write('N: '); Readln(N); for i:=1 to N do begin write(i,' :'); readln(a[i]); end; if a[N-1]<a [N] then Num:=1 else Num:=0; for i:=3 to N do if (a[i-2]<a[i-1]) and not(a[i-1]<a[i]) then inc(Num); Writeln(Num); end. |
Другие задачи из раздела Array можно посмотреть здесь.
Косметически — строку 22 перенести на 17 в виде:
[/crayon]
уже хотел написать что будет не понятно, что это и откуда взялось…
но потом представил какую конструкцию в Си можно замутить… и оставил 🙂 Конструкция: