Дан массив чисел. Определить количество элементов, находящихся в интервале от1 до 12 и расположенных до максимального элемента массива. ПАСКАЛЬ.

Дан массив чисел. Определить количество элементов, находящихся в интервале от1 до 12 и расположенных до максимального элемента массива. ПАСКАЛЬ.
Гость
Ответ(ы) на вопрос:
Гость
// PascalABC.NET 3.2, сборка 1417 от 28.03.2017 // Внимание! Если программа не работает, обновите версию! begin   var a:=ArrRandom(ReadInteger('n='),-20,20); a.Println;   Writeln(a[:a.IndexMax].Where(x->(x>=1) and (x<=12)).Count) end. Пример n= 15 3 12 -1 10 -7 18 10 19 8 9 -2 4 0 19 13 4 А вот так учат писать эту же программу в школе... const   nn=100; var   a:array[1..nn] of integer;   i,n,imax,k:integer; begin   Randomize;   Write('n='); Read(n);   for i:=1 to n do begin     a[i]:=Random(41)-20;     Write(a[i],' ');     end;   Writeln;   imax:=1;   for i:=2 to n do     if a[i]>a[imax] then imax:=i;   k:=0;   for i:=1 to imax do     if (a[i]>=1) and (a[i]<=12) then k:=k+1;   Writeln(k) end. Вот отсюда и вопрос: для чего учить писать длинно, сложно и малопонятно?
Гость
Const    N = 33; Var    A:array[1..N] of integer;    i,Max,k:integer; Begin Randomize; Write('Исходный массив: '); For i:= 1 to N do     Begin     A[i]:=random(N);     Write(A[i],' ');     End; WriteLn; Max:=1; For i:= 2 to N do     if A[i]>A[Max] then Max:=i; WriteLn('A[',Max,'] = ',A[Max]); Write('Искомые элементы: '); k:=0; For i:= 1 to N do     if (1<=A[i])and(A[i]<=12) then        Begin        Write(A[i],' ');        k:=k+1;        End; WriteLn; Write('Их количество: ',k); End. Пример: Исходный массив: 19 24 23 22 17 15 18 21 16 18 6 17 30 23 14 24 11 28 19 13 4 28 21 23 7 19 26 4 11 16 10 14 28 A[13] = 30 Искомые элементы: 6 11 4 7 4 11 10 Их количество: 7
Не нашли ответ?
Ответить на вопрос
Похожие вопросы