Var A, B, C: array[1..15] of real; i, m, max_weight, b_n, c_n, N, max: integer; s: real;
begin N := 15; m := 10; max_weight := 50;
writeln('ВВедите массы состава ', m, ' состоящего из ', n, ' вагонов'); for i := 1 to n do begin write('Масса вагона № ', i, ' = '); readln(a[i]); end; writeln();
writeln('Все вагоны:'); for i := 1 to n do writeln('Вагон №', i, ' = ', a[i], ' тон'); writeln();
writeln('Порожние вагоны:'); for i := 1 to n do if (A[i] <= m) then writeln('Вагон №', i); writeln();
s := 0; writeln('Груженные вагоны:'); for i := 1 to n do if (A[i] > m) then begin s := s + a[i]; writeln('Вагон №', i); end; Writeln('Сумма масс груженных вагонов = ', s);
{// if s > max_weight then begin // writeln('Превышение массы! Состав не будет сформирован'); // exit; // end;}
writeln; writeln('Новый состав:'); s := 0; for i := 1 to n do if (A[i] > m) and (s + A[i] <= max_weight) then begin b_n := b_n + 1; s := s + A[i]; B[b_n] := A[i]; writeln('Вагон №', b_n, ' = ', B[b_n], ' тон'); end else begin c_n := c_n + 1; C[c_n] := A[i]; end;
writeln(); writeln('Остаток:'); for i := 1 to c_n do writeln('Вагон №', i, ' = ', C[i], ' тон'); writeln();
max := 1; for i := 1 to b_n do if B[i] > B[max] then max := i;
writeln('Максимальная масса в составе: Вагон №', max, ' = ', B[max], ' тон'); end.
Program Task; Var a: Array [1..40] of Integer; b: Real; c, d, e, i: Integer; Begin Randomize; For i := 1 To 40 Do a[i] := Random(20 + 1); WriteLn('Массив:'); For i := 1 To 40 Do Write(a[i], ' '); WriteLn; For i := 1 To 40 Do Begin If a[i] Mod 2 = 1 Then Begin b := b + a[i]; c := c + 1; End; If a[i] <= 10 Then d := d + a[i]; If a[i] Mod 3 = 0 Then e := e + a[i]; End; WriteLn('Среднее арифметическое нечётных чисел: ', (b / c):2:2); WriteLn('Сумма чисел, не превышающих 10: ', d); WriteLn('Сумма чисел кратных 3: ', e); ReadLn; End.
Чтобы посчитать дробную часть, нужно её умножать на 4.
ответ: 112, 23