Вопрос задан 08.04.2021 в 06:51.
Предмет Информатика.
Спрашивает Андреевна Анастасия.
Дана вещественная матрица A (n*m). получить: k - число компонент матрицы А, принадлежащий отрезку
[3;5], s- сумму компонент, не принадлежащий отрезку [7;10] Нужно сделать программу на языке Паскаль. Через массив.Ответы на вопрос
Отвечает Кудра Стас.
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
Внимание! Если программа не работает, обновите версию!
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
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.
Вот пример программы на языке Паскаль, решающей данную задачу с помощью массивов:
lessprogram 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, которая вычисляет сумму компонент матрицы, не принадлежащих заданному диапазону. Обе функции проходят по всем элементам матрицы и используют условия для определения, принадлежит ли текущий элемент ди
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili
