1. Задать массив F (M, N), из 4 строк и 5 столбцов,
1. Задать массив F (M, N), из 4 строк и 5 столбцов, элементы заданы из спектра [-20; 20] случайным образом
Найти количество положительных и кратных 7;
Отыскать среднее арифметическое отрицательных;
Отыскать Min элемент и его индексы;
Найти Max элемент посреди отрицательных и его индексы.
2 ответа
Мария Черноног
//PascalABC.NET
//Версия 3.3, сборка 1611 (06.01.2018)
begin
var a:=MatrRandom(4,5,-20,20).Println;
var c:=a.ElementsByRow;
Println('Кол-во положительных -gt;',c.Where(t-gt;tgt;0).Count);
Println('Кол-во кратных 7 -gt;',c.Where(t-gt;t mod 7=0).Count);
Println('Сред. арифм. отрицат. -gt;',c.Where(t-gt;tlt;0).Average);
var b:=a.ElementsWithIndexes.MinBy(t-gt;t[0]);
Writeln('Минимальный -gt;', b[0],'[',b[1]+1,',',b[2]+1,']');
b:=a.ElementsWithIndexes.Where(t-gt;t[0]lt;0).MaxBy(t-gt;t[0]);
Writeln('Наибольший отриц. -gt;', b[0],'[',b[1]+1,',',b[2]+1,']');
end.
Пример:
-10 6 12 7 4
-8 -4 3 -1 6
9 -2 16 19 -18
18 4 -3 12 -8
Кол-во положительных -gt; 12
Кол-во кратных 7 -gt; 1
Сред. арифм. отрицат. -gt; -6.75
Малый -gt;-18[3,5]
Наибольший отриц. -gt;-1[2,4]
//Версия 3.3, сборка 1611 (06.01.2018)
begin
var a:=MatrRandom(4,5,-20,20).Println;
var c:=a.ElementsByRow;
Println('Кол-во положительных -gt;',c.Where(t-gt;tgt;0).Count);
Println('Кол-во кратных 7 -gt;',c.Where(t-gt;t mod 7=0).Count);
Println('Сред. арифм. отрицат. -gt;',c.Where(t-gt;tlt;0).Average);
var b:=a.ElementsWithIndexes.MinBy(t-gt;t[0]);
Writeln('Минимальный -gt;', b[0],'[',b[1]+1,',',b[2]+1,']');
b:=a.ElementsWithIndexes.Where(t-gt;t[0]lt;0).MaxBy(t-gt;t[0]);
Writeln('Наибольший отриц. -gt;', b[0],'[',b[1]+1,',',b[2]+1,']');
end.
Пример:
-10 6 12 7 4
-8 -4 3 -1 6
9 -2 16 19 -18
18 4 -3 12 -8
Кол-во положительных -gt; 12
Кол-во кратных 7 -gt; 1
Сред. арифм. отрицат. -gt; -6.75
Малый -gt;-18[3,5]
Наибольший отриц. -gt;-1[2,4]
Нифантов Владислав
Const
mm=50; очень вероятное кол-во строк
nn=50; максимально вероятное кол-во столбцов
var
f:array[1..mm,1..nn] of integer;
i,j,m,n,k,s:integer;
begin
Randomize;
Write('Количество строк в массиве: '); Read(m);
Write('Количество столбцов в массиве: '); Read(n);
Writeln('*** Исходный массив ***');
for i:=1 to m do begin
for j:=1 to n do begin
f[i,j]:=Random(41)-20; [-20;20]
Write(f[i,j]:4)
end;
Writeln
end;
Write('Количество положительных частей, кратных 7: ');
k:=0;
for i:=1 to m do
for j:=1 to n do
if (f[i,j]gt;0) and (f[i,j] mod 7=0) then k:=k+1;
Writeln(k);
Write('Среднее арифметическое отрицательных частей: ');
k:=0; s:=0;
for i:=1 to m do
for j:=1 to n do
if f[i,j]lt;0 then begin k:=k+1; s:=s+f[i,j] end;
if kgt;0 then Writeln(s/k:0:5)
else Writeln(0);
Write('Минимальный элемент равен ');
k:=100;
for i:=1 to m do
for j:=1 to n do
if f[i,j]lt;k then k:=f[i,j];
Write(k,', индексы:');
for i:=1 to m do
for j:=1 to n do
if f[i,j]=k then Write(' [',i,',',j,']');
Writeln;
Write('Наибольший элемент посреди отрицательных равен ');
k:=-100;
for i:=1 to m do
for j:=1 to n do
if (f[i,j]gt;k) and (f[i,j]lt;0) then k:=f[i,j];
Write(k,', индексы:');
for i:=1 to m do
for j:=1 to n do
if f[i,j]=k then Write(' [',i,',',j,']');
Writeln;
end.
Пример
Количество строк в массиве: 5
Количество столбцов в массиве: 8
*** Начальный массив ***
-4 11 -5 -12 7 16 -10 6
8 -3 -12 -16 15 2 -2 -6
16 8 18 0 -10 8 18 7
17 7 -14 -4 -1 -8 13 -1
3 -18 16 -10 4 -17 19 -18
Количество положительных частей, кратных 7: 3
Среднее арифметическое отрицательных частей: -9.00000
Малый элемент равен -18, индексы: [5,2] [5,8]
Наибольший элемент среди отрицательных равен -1, индексы: [4,5] [4,8]
mm=50; очень вероятное кол-во строк
nn=50; максимально вероятное кол-во столбцов
var
f:array[1..mm,1..nn] of integer;
i,j,m,n,k,s:integer;
begin
Randomize;
Write('Количество строк в массиве: '); Read(m);
Write('Количество столбцов в массиве: '); Read(n);
Writeln('*** Исходный массив ***');
for i:=1 to m do begin
for j:=1 to n do begin
f[i,j]:=Random(41)-20; [-20;20]
Write(f[i,j]:4)
end;
Writeln
end;
Write('Количество положительных частей, кратных 7: ');
k:=0;
for i:=1 to m do
for j:=1 to n do
if (f[i,j]gt;0) and (f[i,j] mod 7=0) then k:=k+1;
Writeln(k);
Write('Среднее арифметическое отрицательных частей: ');
k:=0; s:=0;
for i:=1 to m do
for j:=1 to n do
if f[i,j]lt;0 then begin k:=k+1; s:=s+f[i,j] end;
if kgt;0 then Writeln(s/k:0:5)
else Writeln(0);
Write('Минимальный элемент равен ');
k:=100;
for i:=1 to m do
for j:=1 to n do
if f[i,j]lt;k then k:=f[i,j];
Write(k,', индексы:');
for i:=1 to m do
for j:=1 to n do
if f[i,j]=k then Write(' [',i,',',j,']');
Writeln;
Write('Наибольший элемент посреди отрицательных равен ');
k:=-100;
for i:=1 to m do
for j:=1 to n do
if (f[i,j]gt;k) and (f[i,j]lt;0) then k:=f[i,j];
Write(k,', индексы:');
for i:=1 to m do
for j:=1 to n do
if f[i,j]=k then Write(' [',i,',',j,']');
Writeln;
end.
Пример
Количество строк в массиве: 5
Количество столбцов в массиве: 8
*** Начальный массив ***
-4 11 -5 -12 7 16 -10 6
8 -3 -12 -16 15 2 -2 -6
16 8 18 0 -10 8 18 7
17 7 -14 -4 -1 -8 13 -1
3 -18 16 -10 4 -17 19 -18
Количество положительных частей, кратных 7: 3
Среднее арифметическое отрицательных частей: -9.00000
Малый элемент равен -18, индексы: [5,2] [5,8]
Наибольший элемент среди отрицательных равен -1, индексы: [4,5] [4,8]
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
Игорь 14 лет назад был на 8 лет моложе, чем его
Математика.
Два тела массами m1 и m2 находящие на расстоянии R друг
Физика.
В сосуде 4целых одна пятая литр воды что бы заполнить сосуд
Математика.
Двум малярам Диме И Олегу поручили выкрасить фасад дома они разделили
Разные вопросы.
найти порядковый номер 41Э если в ядре 20 нейтронов
Разные вопросы.
в ряду натуральных чисел 3, 8, 10, 24, … 18 одно
Математика.
Предприятие по производству с/хоз продукции на производство затратило 3527000 руб Валовый
Разные вопросы.
Математика, задано на каникулы. ВАРИАНТ 1004
НОМЕР 1,2,3,4,5,6,7,8.
Математика.
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
Облако тегов