// 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.
,ответ:
0. 5л - 0, 7 л - 0
1. 5л - 5(0+5), 7л - 0
2. 5л - 0(5-5), 7л - 5(0+5)
3.5л - 5(0+5), 7л - 5
4. 5л - 3(5-2), 7л - 7(5+2)
5. 5л - 3, 7л - 0(7-0)
6. 5л - 0(3-3), 7л - 3(0+3)
7. 5л - 5(0+5), 7л - 3
8. 5л - 1(5-4), 7л - 7(0+4)
9. 5л - 1, 7л - 0(7-7)
10. 5л - 0(1-1), 7л - 1(0+1)
11. 5л - 5(0+5), 7л - 1
12. 5л - 0(5-5), 7л - 6(1+5)
Объяснение: