Вопрос задан 08.04.2021 в 06:51. Предмет Информатика. Спрашивает Андреевна Анастасия.

Дана вещественная матрица A (n*m). получить: k - число компонент матрицы А, принадлежащий отрезку

[3;5], s- сумму компонент, не принадлежащий отрезку [7;10] Нужно сделать программу на языке Паскаль. Через массив.
0 0
Перейти к ответам

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

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

begin
  var (n,m):=ReadInteger2('Количество строк и столбцов в матрице:');
  var a:=new real[n,m];
  var (k,s):=(0.0,0.0);
  Randomize(3); // Убрать строку, если нужны другие случайные числа
  for var i:=0 to n-1 do begin
    for var j:=0 to m-1 do begin
      a[i,j]:=0.1*Random(0,130);
      Write(a[i,j]:5:1);
      if a[i,j].Between(3.0,5.0) then k+=a[i,j];
      if not a[i,j].Between(7.0,10.0) then s+=a[i,j]
      end;
    Writeln
    end;
  Writeln('k=',k,', s=',s)
end.

Пример
Количество строк и столбцов в матрице: 5 8
  3.8  9.1 11.3  2.6  7.3  2.3  3.2 12.4
  4.5  4.9  6.5 10.6  9.1  0.3  1.0 11.8
  1.6 11.2  9.9  6.2  2.8  7.6  6.5  1.0
 13.0  5.9  6.7  7.1  4.9  6.5  3.8  3.1
  6.5  0.8  9.0 11.6  6.7  5.5 11.2  8.6
k=28.2, s=190.7
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

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

less
program matrix_operations; const N = 100; // максимальный размер матрицы type TMatrix = array[1..N, 1..N] of Real; // тип матрицы var A: TMatrix; // исходная матрица n, m, k: Integer; // размер матрицы и число компонент s: Real; // сумма компонент procedure read_matrix(var A: TMatrix; n, m: Integer); var i, j: Integer; begin writeln('Введите элементы матрицы:'); for i := 1 to n do for j := 1 to m do readln(A[i, j]); end; function count_components_in_range(A: TMatrix; n, m: Integer; a, b: Real): Integer; var i, j, count: Integer; begin count := 0; for i := 1 to n do for j := 1 to m do if (A[i, j] >= a) and (A[i, j] <= b) then count := count + 1; count_components_in_range := count; end; function sum_components_not_in_range(A: TMatrix; n, m: Integer; a, b: Real): Real; var i, j: Integer; sum: Real; begin sum := 0; for i := 1 to n do for j := 1 to m do if (A[i, j] < a) or (A[i, j] > b) then sum := sum + A[i, j]; sum_components_not_in_range := sum; end; begin // ввод размерности матрицы writeln('Введите размерность матрицы (n, m):'); readln(n, m); // ввод элементов матрицы read_matrix(A, n, m); // вычисление числа компонент в диапазоне [3, 5] k := count_components_in_range(A, n, m, 3, 5); // вычисление суммы компонент не в диапазоне [7, 10] s := sum_components_not_in_range(A, n, m, 7, 10); // вывод результатов writeln('Число компонент в диапазоне [3, 5]: ', k); writeln('Сумма компонент не в диапазоне [7, 10]: ', s); end.

В данной программе используются две функции: count_components_in_range, которая вычисляет число компонент матрицы, принадлежащих заданному диапазону, и sum_components_not_in_range, которая вычисляет сумму компонент матрицы, не принадлежащих заданному диапазону. Обе функции проходят по всем элементам матрицы и используют условия для определения, принадлежит ли текущий элемент ди

0 0

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

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

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