Вопрос задан 29.07.2023 в 23:32. Предмет Информатика. Спрашивает Хомко Андрей.

Задание для паскаля Є цілочисельний масив n*m елементів. Знайти номер рядка з мінімальною сумою

модулів елементів. (Есть целочисленный массив n * m элементов. Найти номер строки с минимальной суммой модулей элементов.) написать программу и объяснить что к чему
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Шуверов Дима.
PascalABC.NET 3.3.5, сборка 1662 от 29.04.2018
Внимание! Если программа не работает, обновите версию!

begin
  var (n,m):=ReadInteger2('Количество строк и столбцов в массиве:');
  Writeln('*** Исходный массив ***');
  var a:=MatrRandom(n,m,-99,99);
  a.Println(4); Writeln(4*a.ColCount*'-');
  Writeln(a.Rows.Select(r->r.Select(t->Abs(t)).Sum).ToArray.IndexMin+1)
end.

0 0
Отвечает Цар Надія.
//более простым языком
const
  maxn = 100;

type
  myarr = array [1..maxn, 1..maxn] of longint;

var
  a: myarr;
  n, m, i, j, sum, ini, max: longint;

begin
  readln(n, m);
  max := 0;
  for i := 1 to n do begin
    sum := 0;
    for j := 1 to m do begin
      read(a[i, j]);
      sum := sum + abs(a[i, j]);
    end;
    if (sum > max) then begin
      ini := i;
      max := sum;
    end;
  end;
  writeln(ini);
end.
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для решения данной задачи нахождения номера рядка с минимальной суммой модулей элементов в целочисельном массиве n * m, можно написать программу на языке программирования Паскаль.

Первым шагом является ввод размеров массива (n и m) и самого массива с его элементами. Затем мы проходим по каждой строке, вычисляя сумму модулей элементов и запоминая минимальную сумму и соответствующий номер строки. После того, как все строки обработаны, мы выводим найденный номер рядка с минимальной суммой модулей элементов.

Вот программа на Паскале, решающая данную задачу:

pascal
program MinSumOfAbsElements; const MAX_SIZE = 100; // Максимальный размер массива var arr: array[1..MAX_SIZE, 1..MAX_SIZE] of Integer; n, m, i, j, minSum, minSumRow: Integer; function AbsValue(num: Integer): Integer; begin if num < 0 then AbsValue := -num else AbsValue := num; end; begin // Ввод размеров массива WriteLn('Введите количество строк (n): '); ReadLn(n); WriteLn('Введите количество столбцов (m): '); ReadLn(m); // Ввод элементов массива WriteLn('Введите элементы массива: '); for i := 1 to n do for j := 1 to m do Read(arr[i, j]); // Находим номер рядка с минимальной суммой модулей элементов minSum := MaxInt; for i := 1 to n do begin // Вычисляем сумму модулей элементов в текущей строке var sum := 0; for j := 1 to m do sum := sum + AbsValue(arr[i, j]); // Обновляем минимальную сумму и номер ряда, если необходимо if sum < minSum then begin minSum := sum; minSumRow := i; end; end; // Выводим результат WriteLn('Номер ряда с минимальной суммой модулей элементов: ', minSumRow); end.

В этой программе мы используем функцию AbsValue, чтобы получить модуль элемента массива. Затем, во внешнем цикле по строкам массива, мы вычисляем сумму модулей элементов для каждой строки и сравниваем её с текущим минимумом minSum. Если сумма модулей текущей строки меньше, мы обновляем minSum и minSumRow. По завершении обхода всех строк, находим номер ряда с минимальной суммой модулей элементов и выводим его.

Таким образом, программа на Паскале решает задачу нахождения номера рядка с минимальной суммой модулей элементов в целочисленном массиве n * m.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос