const N=30; var a: array [1..N] of integer; i,j,s: integer; begin for i:=1 to N do readln(a[i]); for i:=1 to N do if (a[i]>99)and(a[i]<1000) then if (a[i] mod 2)<>0 then begin s:=s+a[i]; j:=j+1; end; if j=0 then writeln('в массиве нет нечётных трехзначных чисел') else writeln('среднее арифметическое нечётных трехзначных чисел: ',s/j); end.
задача 2
const N=40; var a: array [1..N] of integer; i,x,y: integer; s: real; begin for i:=1 to N do readln(a[i]); x:=abs(a[1]); for i:=1 to N do if (a[i]>0)and((a[i] mod x)=0) then begin y:=y+1; s:=s+a[i]; end; if y=0 then writeln('в массиве нет нечётных трехзначных чисел') else writeln('среднее арифметическое положительных чисел кратных первому элементу: ',s/y); end.
задача 3
const N=30; var a: array [1..N] of integer; i,s,m: integer; begin for i:=1 to N do readln(a[i]); m:=a[1]; for i:=2 to N do if a[i]>m then m:=a[i]; for i:=1 to N do if a[i]=m then s:=s+1; if s=1 then writeln('в массиве только один максимальный элемент') else writeln('число элементов, равных максимальному: ',s-1); end.
Вообще-то в PascalABC.NET такая функция сто лет не нужна, но вот...
// PascalABC.NET 3.2, сборка 1485 от 15.06.2017 // Внимание! Если программа не работает, обновите версию!
function aMin(a:array of integer):=a.Min;
function aMin(a:array of real):=a.Min;
begin var a:=ArrRandom(ReadInteger('n='),-50,50); a.Println; Writeln('Min=',aMin(a)); var b:=ArrRandomReal(ReadInteger('m='),-10,10); b.Println; Writeln('Min=',aMin(b)); end.