В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
mlevosin
mlevosin
29.06.2020 00:51 •  Информатика

Кто из интернет урока


Кто из интернет урока

Показать ответ
Ответ:
yanapetelyakp070y8
yanapetelyakp070y8
24.05.2021 03:50
// PascalABC.NET 3.1, сборка 1213 от 04.04.2016
begin
  var m,n:integer;
  Write('Ввведите число строк и столбцов: ');
  Read(m,n);
  var a:=MatrixRandom(m,n,-99,99);
  var Vrow:=ArrFill(m,0);
  var Vcol:=ArrFill(n,0.0);
  for var i:=0 to m-1 do begin
    var max:=-100;
    for var j:=0 to n-1 do begin
      Write(a[i,j]:4);
      if a[i,j]>max then max:=a[i,j]
      end;
    Writeln;
    Vrow[i]:=Max
    end;
  Writeln('Вектор из наибольших значений строк');
  Vrow.Println;
  for var j:=0 to n-1 do begin
    var s:=a[0,j];
    for var i:=1 to m-1 do s+=a[i,j];
    Vcol[j]:=s/m
    end;
  Writeln('Вектор из средних арифметических по столбцам');
  Vcol.Println
end.

Тестовое решение:
Ввведите число строк и столбцов: 5 8
 -82  67 -78  27  69 -80  85  34
  70 -82 -89 -30 -57  31  14  33
  -4  -1 -93 -21  81 -66  48  31
  58  18 -40 -63 -68  40  46 -44
  85  46  31 -61   1  43   2 -94
Вектор из наибольших значений строк
85 70 81 58 85
Вектор из средних арифметических по столбцам
25.4 9.6 -53.8 -29.6 5.2 -6.4 39 -8
0,0(0 оценок)
Ответ:
Тамик03
Тамик03
28.04.2023 11:28

#include <iostream>

using namespace std;

int data[20][20], x, y, minValue = -1;

void calc(int px, int py, int value){

   value += data[px][py];

   int temp = data[px][py];

  if(px == x - 1 && py == y - 1) {

       if(value < minValue || minValue == -1)

           minValue = value;

       return;

  }

  data[px][py] = -1;

   if(px + 1 < x && data[px + 1][py] != -1) calc(px + 1, py, value);

   if(py + 1 < y && data[px][py + 1] != -1) calc(px, py + 1, value);

   

data[px][py] = temp;

}

int main(){

   cin >> x >> y;

   for (int i = 0; i < x; ++i)

       for (int j = 0; j < y; ++j)

          cin >> data[i][j];

 calc(0, 0, 0);

  cout << minValue;  

  return 0;

}

Объяснение:

Я сделал это задание с рекурсии. Функция бесконечно вызывает сама себя и ищет наиболее оптимальный вариант. Фактически это просто подбор, но более сложно реализованный.

P. s. Если Вам ответ, отметьте его как лучший и жмякните на " " . Это мотивирует продолжать давать ответы дальше.

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота