Вмассиве а1,а2,а3…а10 заменить на 5 все элементы, равные и большие среднего арифметического, и на 0 – меньшие среднего арифметического всех элементов массива. вывести на экран полученный массив.
Const K = 10; Var A:array[1..K] of integer; i:integer; Sr:real; Begin Write('Исходный массив: '); For i:= 1 to K do Begin A[i]:=random(21)-10; Write(A[i],' '); Sr:=Sr+A[i]; End; Sr:=Sr/K; WriteLn; WriteLn('Среднее арифметическое: ',Sr); Write('Переработаный массив: '); For i:= 1 to K do Begin if A[i]<Sr then A[i]:=0 else A[i]:=5; Write(A[i],' '); End; End.
// PascalABC.NET 3.1, сборка 1214 от 09.04.2016 procedure ex1(a:array of integer; var nn,np:integer); begin nn:=0; np:=0; for var i:=0 to a.Length-1 do if a[i]<0 then begin a[i]:=0; Inc(nn) end else if a[i]>0 then begin a[i]:=1; Inc(np) end end;
begin var a:=ArrRandom(ReadInteger('n='),-20,20); a.Println; var kp,kn:integer; ex1(a,kn,kp); Writeln('Отрицательных ',kn,', положительных ',kp); a.Println end.
// PascalABC.NET 3.1, сборка 1214 от 09.04.2016 procedure ex2(a:array of integer); begin var k:=0; for var i:=0 to a.Length-1 do if a[i]>0 then begin Print(i+1); Inc(k) end; Writeln(NewLine,'Количество положительных элементов равно ',k) end;
begin var a:=ArrRandom(ReadInteger('n='),-20,20); a.Println; ex2(a); end.
Тестовое решение: n= 13 15 -3 1 11 -20 17 -17 -12 -12 20 11 2 20 1 3 4 6 10 11 12 13 Количество положительных элементов равно 8
// PascalABC.NET 3.1, сборка 1214 от 09.04.2016 procedure ex3(a:array of integer); begin var s:=0; var k:=0; var i:=0; while i<a.Length do begin s+=abs(a[i]); Inc(k); i+=2 end; Writeln('Сумма модулей нечетных элементов равна ',s); Writeln('Их среднее арифметическое равно ',s/k) end;
begin var a:=ArrRandom(ReadInteger('n='),-20,20); a.Println; ex3(a); end.
Тестовое решение: n= 10 2 -1 -14 -12 11 13 1 17 20 6 Сумма модулей нечетных элементов равна 48 Их среднее арифметическое равно 9.6
K = 10;
Var
A:array[1..K] of integer;
i:integer;
Sr:real;
Begin
Write('Исходный массив: ');
For i:= 1 to K do
Begin
A[i]:=random(21)-10;
Write(A[i],' ');
Sr:=Sr+A[i];
End;
Sr:=Sr/K;
WriteLn;
WriteLn('Среднее арифметическое: ',Sr);
Write('Переработаный массив: ');
For i:= 1 to K do
Begin
if A[i]<Sr then A[i]:=0
else A[i]:=5;
Write(A[i],' ');
End;
End.