Прямоугольник с сторонами n и m разделен на квадраты размером 1x1. составлен алгоритм для определения количества квадратов по диагонали прямоугольника.
1. "Школьный" вариант (так учат в школах) //PascalABC.Net 3.0, сборка 1064 const n=15; var c:array[1..n] of integer; i,k:integer; sn,ap:longint; begin Randomize; Writeln('Исходный массив'); k:=0; for i:=1 to n do begin c[i]:=Random(51)-25; Write(c[i]:4); if c[i]<0 then sn:=sn+c[i] else if c[i]>0 then begin ap:=ap+c[i]; Inc(k) end end; Writeln; Writeln('Сумма отрицательных элементов равна ',sn); Writeln('Среднее арифметическое положительных элементов равно ',ap/k) end.
Тестовое решение: Исходный массив 22 15 -5 4 7 -6 24 23 -25 -21 -10 21 -11 -4 22 Сумма отрицательных элементов равна -82 Среднее арифметическое положительных элементов равно 17.25
2. Современный вариант (а так в школах почему-то не учат) //PascalABC.Net 3.0, сборка 1064 begin var c:=SeqRandom(15,-25,25); Writeln('Исходный массив'); Println(c); Writeln('Сумма отрицательных элементов равна ',c.Where(x->x<0).Sum); Writeln('Среднее арифметическое положительных элементов равно ', c.Where(x->x>0).Average) end.
Тестовое решение: Исходный массив [21,13,16,-6,-5,-21,-23,10,14,5,-14,7,-10,-9,9] Сумма отрицательных элементов равна -120 Среднее арифметическое положительных элементов равно 12.125
Marina281
10.08.2021
//Java public class Main { public static void main(String[] args){ int[] a = new int[new java.util.Random().nextInt(10000)];
for(int i = 0; i < a.length; i++) a[i] = new java.util.Random().nextInt(10000);
/** * Сортировка - пузырь */ for (int i = 0; i < a.length-1; i++) for (int j = 0; j < a.length-i-1; j++) if (a[j] > a[j+1]){ int b = a[j]; a[j] = a[j+1]; a[j+1] = b; }
for (int i = 0; i < a.length; i++) System.out.print(a[i] + " "); } }
Прямоугольник с сторонами n и m разделен на квадраты размером 1x1. составлен алгоритм для определения количества квадратов по диагонали прямоугольника.
//PascalABC.Net 3.0, сборка 1064
const
n=15;
var
c:array[1..n] of integer;
i,k:integer;
sn,ap:longint;
begin
Randomize;
Writeln('Исходный массив');
k:=0;
for i:=1 to n do begin
c[i]:=Random(51)-25;
Write(c[i]:4);
if c[i]<0 then sn:=sn+c[i]
else
if c[i]>0 then begin ap:=ap+c[i]; Inc(k) end
end;
Writeln;
Writeln('Сумма отрицательных элементов равна ',sn);
Writeln('Среднее арифметическое положительных элементов равно ',ap/k)
end.
Тестовое решение:
Исходный массив
22 15 -5 4 7 -6 24 23 -25 -21 -10 21 -11 -4 22
Сумма отрицательных элементов равна -82
Среднее арифметическое положительных элементов равно 17.25
2. Современный вариант (а так в школах почему-то не учат)
//PascalABC.Net 3.0, сборка 1064
begin
var c:=SeqRandom(15,-25,25);
Writeln('Исходный массив'); Println(c);
Writeln('Сумма отрицательных элементов равна ',c.Where(x->x<0).Sum);
Writeln('Среднее арифметическое положительных элементов равно ',
c.Where(x->x>0).Average)
end.
Тестовое решение:
Исходный массив
[21,13,16,-6,-5,-21,-23,10,14,5,-14,7,-10,-9,9]
Сумма отрицательных элементов равна -120
Среднее арифметическое положительных элементов равно 12.125