М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
jusupova2001
jusupova2001
02.06.2021 05:51 •  Информатика

Составить программу на языке паскаль для вычисления произведения элементов, больших (-7) в каждой строке матрицы с(8*6).

👇
Ответ:
kira1180
kira1180
02.06.2021
// PascalABC.NET 3.2, сборка 1417 от 28.03.2017
// Внимание! Если программа не работает, обновите версию!

begin
  Writeln('*** Исходный массив 8x6 ***');
  var c:=MatrRandom(8,6,-99,99);
  c.Println(4); Writeln(4*c.ColCount*'-');
  Writeln('Произведения элементов, больших -7, построчно:');
  foreach var row in c.Rows do
    Writeln(row.Where(x->x>-7).Aggregate(int64(1),(p,q)->p*q));
end.

Пример
*** Исходный массив 8x6 ***
 -50   8 -15  55  91 -53
 -25  82  33  65  19 -63
  99  49 -80  84  -2  68
 -52 -63 -58  23  89  58
  81 -45 -71 -85  34  66
 -35   2  23  26 -33 -56
  74  35 -35  21  15 -77
  40  87 -11  77 -74 -65

Произведения элементов, больших -7, построчно:
40040
3341910
-55417824
118726
181764
1196
815850
267960
4,4(43 оценок)
Открыть все ответы
Ответ:
lolsasafd
lolsasafd
02.06.2021
1. Современное решение

// PascalABC.NET 3.2, сборка 1356 от 04.12.2016
// Внимание! Если программа не работает, обновите версию!

begin
  var a:=ArrRandom(ReadInteger('n='),-50,50); a.Println;
  Writeln('Среднее положительных ',a.Where(x->x>0).Average);
  Writeln('Минимум ',a.Min)
end.

Пример
n= 15
35 27 -7 -1 20 13 6 50 -9 23 -38 46 30 27 14
Среднее положительных 26.4545454545455
Минимум -38

2. Школьный вариант на древних версиях

program Ex1;
const
  nn=100; { ограничение на длину массива }
var
  i,n,s,k:integer;
  a:array[1..nn] of integer;
begin
  Randomize;
  Write('n='); Read(n);
  k:=0;
  for i:=1 to n do begin
    a[i]:=Random(101)-50;
    Write(a[i],' ');
    if a[i]>0 then begin
      k:=k+1; s:=s+a[i]
      end
    end;
  Writeln;
  Writeln('Среднее положительных ',s/k) 
end.

program Ex2;
const
  nn=100; { ограничение на длину массива }
var
  i,n,min:integer;
  a:array[1..nn] of integer;
begin
  Randomize;
  Write('n='); Read(n);
  min:=100; { больше максимально возможного }
  for i:=1 to n do begin
    a[i]:=Random(101)-50;
    Write(a[i],' ');
    if a[i]<min then min:=a[i]
    end;
  Writeln;
  Writeln('Минимум ',min)
end.

Выводы о том, чему и как учат в школе, делайте самостоятельно...
4,4(74 оценок)
Ответ:
ahmedova3
ahmedova3
02.06.2021
Const
  nn=50; { ограничение на длину строки/столбца }
var
  i,j,m,n,k,s:integer;
  a:array[1..nn,1..nn] of integer;
begin
  Randomize;
  Write('Количество строк в массиве '); Read(m);
  Write('Количество столбцов в массиве '); Read(n);
  s:=0;
  k:=0;
  for i:=1 to m do begin
    for j:=1 to n do begin
      a[i,j]:=Random(101)-50;
      Write(a[i,j]:4);
      if a[i,j]>0 then begin
        s:=s+a[i,j];
        k:=k+1
      end
    end;
  Writeln
  end;
  Writeln('Ср. арифметическое положительных ',s/k)
end.

Пример
Количество строк в массиве 8
Количество столбцов в массиве 11
 -11  27 -22  46 -34 -36  10  39  -5  15 -46
  46 -48 -42  50 -14  12 -23 -29  -2   8  16
 -18  -5 -31  21 -28 -38  20  33   9  24   4
  43  18   9 -44 -22  25  37  39 -48 -16 -15
 -15  12  46  49  12 -50 -10  42  47  46  33
  23  -5  34  26  -5  42  -2 -32  12 -44 -19
  -8 -41  -9  -9 -20 -16   3 -15   9   5 -19
  47 -40   7  26 -26   0  20  -8  18  27   9
Ср. арифметическое положительных 25.4666666666667
4,4(25 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ