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

Разработайте универсальную подпрограмму, определяющую сумму элементов в тех строках матрицы размером n×m элементов, которые не содержат отрицательных элементов. поместите подпрограмму в модуль. разработайте тестирующую программу. паскаль.

👇
Ответ:
код127
код127
08.11.2020
1. Помещаем нижеследующий текст в файл UniSum.pas, который должен находиться в директории PABCWork.Net

// PascalABC.NET 3.0, сборка 1128
unit UniSum;

interface

Function UniSumMatrix(a:array[,] of integer):integer;
Function UniSumMatrix(a:array[,] of real):real; overload;

implementation

Function UniSumMatrix(a:array[,] of integer):integer;
begin
  Result:=0;
  for var i:=0 to Length(a,0)-1 do
    for var j:=0 to Length(a,1)-1 do
      if a[i,j]>0 then Result+=a[i,j]
end;

Function UniSumMatrix(a:array[,] of real):real; overload;
begin
  Result:=0;
  for var i:=0 to Length(a,0)-1 do
    for var j:=0 to Length(a,1)-1 do
      if a[i,j]>0 then Result+=a[i,j]
end;

end.

2. Создаем новый файл и помещаем в него тестовую программу

// PascalABC.NET 3.0, сборка 1128
uses
  UniSum;

begin
  var m:=ReadInteger('Число строк в матрице:');
  var n:=ReadInteger('Число столбцов в матрице:');
  var R:=MatrixRandom(m,n,-10,20);
  Writeln('Сгенерированная матрица');
  for var i:=0 to m-1 do begin
    for var j:=0 to n-1 do Write(R[i,j]:4);
    Writeln
    end;
  Writeln('Сумма положительных элементов: ',UniSumMatrix(R));
  m:=ReadInteger('Число строк в матрице:');
  n:=ReadInteger('Число столбцов в матрице:');
  var S:=MatrixRandomReal(m,n,-15,32);
  Writeln('Сгенерированная матрица');
  for var i:=0 to m-1 do begin
    for var j:=0 to n-1 do Write(S[i,j]:7:2);
    Writeln
    end;
  Writeln('Сумма положительных элементов: ',UniSumMatrix(S):0:2)
end.

Тестовое решение:
Число строк в матрице: 4
Число столбцов в матрице: 3
Сгенерированная матрица
 -10  15  17
  -8  -8   7
   2  -9   0
  -1   5  17
Сумма положительных элементов: 63
Число строк в матрице: 5
Число столбцов в матрице: 6
Сгенерированная матрица
   0.74  -7.30  15.97   5.01   1.55  12.02
  -3.98  -9.21   3.35  -7.95 -14.10  31.21
  13.75  -5.82  -5.34  13.33  14.61  15.76
  -5.30  14.65   2.60  20.26  27.30  10.81
  11.60  27.43   5.61 -10.29 -10.48  26.61
Сумма положительных элементов: 274.18

Как видно, программа действительно универсальная: она позволяет работать с матрицами разных размеров и даже разного типа данных.
4,5(49 оценок)
Открыть все ответы
Ответ:
малика3024
малика3024
08.11.2020

20

Объяснение:

Сначала посчитаем количество путей из каждого пункта в таблице (считаем количество ячеек с числом в строке или столбце соответствующих пункту):

П1 - 2

П2 - 3

П3 - 2

П4 - 4

П5 - 2

П6 - 5

П7 - 2

Затем посчитаем количество путей из каждого пункта в графе (считаем количество линий из соответствующего пункта):

А - 2

Б - 2

В - 5

Г - 3

Д - 2

Е - 4

К - 2

Становится очевидно, что:

П6 соответствует пункту В (у них одинаковое количество путей и это количество путей есть в единственном экземпляре)

П4 соответствует пункту Е (у них одинаковое количество путей и это количество путей есть в единственном экземпляре)

П2 соответствует пункту Г (у них одинаковое количество путей и это количество путей есть в единственном экземпляре)

Нам надо определить длина дороги из пункта В в пункт Г, т.е. из пункта П6 в пункт П2, смотрим в таблице значение в ячейке на пересечении строки П6 и столбца П2 (или строки П2 и столбца П6) - это 20

4,6(62 оценок)
Ответ:
xxx170
xxx170
08.11.2020

35

Объяснение:

Если смотреть на таблицу, то мы видим, что у пунктов 1, 3, 5 и 7 связь с другими 2 пунктами, у пункта 2 - с тремя, у 4 - с 4, у 6 - с 5. Сравниваем со схемой и получаем:

П1 - К

П2 - Г

П3 -

П4 - Е

П5 -

П6 - В

П7 - Д

Пункты 1 и 7 вычислялись путем соединения точек. пункты 3 и 5 нас не волнуют, это точки А и Б, они в другой стороне и расстояние больше, чем у других.

Расстояние до пункта 2 (Г) 55, больше, чем прямое до 7 (Д), вычеркиваем.

Расстояние до П4 (Е) 20, от П4 (Е) до П7 (Д) 15, всего 35. Прямой путь 45.

Значит кратчайший будет через Е - 35

4,8(3 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ