Дан массив чисел. Определить количество элементов, находящихся в интервале от1 до 12 и расположенных до максимального элемента массива. ПАСКАЛЬ.
Ответы
Ответ дал:
0
// 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.
Вот отсюда и вопрос: для чего учить писать длинно, сложно и малопонятно?
// Внимание! Если программа не работает, обновите версию!
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.
Вот отсюда и вопрос: для чего учить писать длинно, сложно и малопонятно?
Вас заинтересует
1 год назад
6 лет назад
8 лет назад
8 лет назад
9 лет назад