Вопрос задан 06.07.2023 в 09:48. Предмет Информатика. Спрашивает Моргенштерн Семён.

Задан двухмерный массив A (матрица) вещественных чисел размерности 35. Получить из него новый

массив V путем удаления из массива A строки и столбца, в которых содержится минимальный элемент. Написать программу в паскаль
0 0
Перейти к ответам

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

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

uses School, NumLibABC;

begin

 Println('PascalABC.NET', PascalABCVersion);

 var a := new Matrix(MatrRandomReal(3, 5, -99, 99, 1));

 a.Println(7,1);

 Writeln;

 var min := a.Value.ElementsWithIndices.MinBy(p -> p[0]);

 a.DeleteRow(min[1]+1);

 a.DeleteCol(min[2]+1);

 var v := a.Value;

 v.Println(7,1)

end.


0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Конечно, вот пример программы на языке Pascal, которая выполняет заданную операцию:

pascal
program RemoveMinElement; const N = 3; // Number of rows M = 5; // Number of columns; type TMatrix = array[1..N, 1..M] of Real; var A: TMatrix; V: TMatrix; minElement: Real; minRow, minCol: Integer; i, j, newRow, newCol: Integer; procedure FindMinElement(var matrix: TMatrix; var minVal: Real; var row, col: Integer); begin minVal := matrix[1, 1]; row := 1; col := 1; for i := 1 to N do for j := 1 to M do if matrix[i, j] < minVal then begin minVal := matrix[i, j]; row := i; col := j; end; end; begin // Initialize the matrix A with real values // (You should provide the initialization values here) // Find the minimum element and its position FindMinElement(A, minElement, minRow, minCol); // Create the new matrix V by excluding the minRow-th row and minCol-th column newRow := 1; for i := 1 to N do begin if i = minRow then continue; newCol := 1; for j := 1 to M do begin if j = minCol then continue; V[newRow, newCol] := A[i, j]; Inc(newCol); end; Inc(newRow); end; // Output the matrix V for i := 1 to N - 1 do begin for j := 1 to M - 1 do Write(V[i, j]:8:2, ' '); Writeln; end; end.

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

0 0

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

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

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

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