// PascalABC.NET 3.0, сборка 1150 от 22.01.2016 begin var n:=ReadInteger('Количество элементов массива '); var m:=ArrRandom(n,-50,50); m.Println(', '); var a:=0; var b:=0; var c:=0; for var i:=0 to n-1 do begin if m[i]>0 then a:=a+m[i]; if m[i]<m[b] then b:=i; if m[i] mod 5 = 0 then Inc(c) end; var w:=(b+1)+a/(c+1); WritelnFormat('A={0}, B={1}, C={2}, W={3}',a,b+1,c,w); Writeln('Принято, что элементы массива нумеруются от единицы') end.
Тестовое решение: Количество элементов массива 13 -43, -15, 18, -8, -13, -47, -36, 6, -16, 45, 33, 33, -24 A=135, B=6, C=2, W=51 Принято, что элементы массива нумеруются от единицы
Специально для вас выловил ошибки, находящиеся в предыдущем решении. Кому-то не повезло :(
//PascalABC var S : array[1..10000] of integer; A, B, C, i, N, min : integer; W : real; begin write('Укажите размер массива > '); readln(N); write('Вводите элементы массива > '); for i := 1 to N do readln(S[i]);
A := 0; min := S[1]; C := 0; for i := 1 to N do begin if S[i] > 0 then A := A + S[i]; if S[i] < min then begin B := i; min := S[i]; end; if S[i] mod 5 = 0 then C := C + 1; end; W := B + A / (C + 1); writeln('Сумма элементов ', A); writeln('Номер минимального эл-та ', B); writeln('Количество кратных пяти ', C); writeln('Параметр W ', W); end.
begin
var n:=ReadInteger('Количество элементов массива ');
var m:=ArrRandom(n,-50,50); m.Println(', ');
var a:=0; var b:=0; var c:=0;
for var i:=0 to n-1 do begin
if m[i]>0 then a:=a+m[i];
if m[i]<m[b] then b:=i;
if m[i] mod 5 = 0 then Inc(c)
end;
var w:=(b+1)+a/(c+1);
WritelnFormat('A={0}, B={1}, C={2}, W={3}',a,b+1,c,w);
Writeln('Принято, что элементы массива нумеруются от единицы')
end.
Тестовое решение:
Количество элементов массива 13
-43, -15, 18, -8, -13, -47, -36, 6, -16, 45, 33, 33, -24
A=135, B=6, C=2, W=51
Принято, что элементы массива нумеруются от единицы
//PascalABC
var
S : array[1..10000] of integer;
A, B, C, i, N, min : integer;
W : real;
begin
write('Укажите размер массива > ');
readln(N);
write('Вводите элементы массива > ');
for i := 1 to N do
readln(S[i]);
A := 0;
min := S[1];
C := 0;
for i := 1 to N do begin
if S[i] > 0 then A := A + S[i];
if S[i] < min then begin
B := i;
min := S[i];
end;
if S[i] mod 5 = 0 then C := C + 1;
end;
W := B + A / (C + 1);
writeln('Сумма элементов ', A);
writeln('Номер минимального эл-та ', B);
writeln('Количество кратных пяти ', C);
writeln('Параметр W ', W);
end.