Заполнить массив случайным образом, состоящий из 12 элементов целого типа (диапазон от -40 до 40). Вывести новый массив, заменив значение пятого элемента среднеарифметическим исходного массива.
var x: array[1..n] of integer; i, t, min: integer;
begin Randomize; Writeln('Элементы массива'); min:=32767; for i := 1 to n do begin t := Random(1001)-500; x[i] := t; Write(t:5); if Odd(i) and (t mod 5 = 0) and (min>t) then min:=t end; Writeln; Writeln('Минимальный нечетный элемент, кратный 5, равен ',min) end.
Цифрами обозначены строки необходимые в соответсвующей программе, остальные - общие. Ну и переменные смотри
var a : array [1..200] of longint; p,max : integer; n,i,j : integer; begin readln (n); p := 1; // 1 max := 0; // 2 3 for i := 1 to n do begin readln (a[i]); p := p * a[i]; // 1 if a[i] > max then //2 3 begin //2 3 max := a[i]; // 2 3 j := i; //3 end; // 2 3 end; writeln (p); //1 writeln (max); //2 writeln (j); //3 end.
или, можно без округления:
beginvar a := ArrRandom(12,-40,40); a.Println; Print(a[:4].JoinToString,a.Average,a[5:12].JoinToString);end.и если вдруг выводить нужно именно массив:
begin var a := ArrRandom(12,-40,40); a.Println; Arr(a[:4].Select(x->x/1)+a.Average+a[5:12].Select(x->x/1)).Print; end.Пример работы: