
Дан двумерный массив целых чисел. Определить минимальный номер столбца, который состоит только из
элементов больших числа 10. Оформить программу на языке Паскаль с помощью подпрограмм-функций.

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

===== PascalABC.NET =====
function GetMatrix: array[,] of integer;
begin
var (m, n) := ReadInteger2('Число строк и столбцов в массиве:');
Result := MatrRandom(m, n, 0, 20)
end;
function MinCol(a: array[,] of integer): integer;
begin
for var j := 0 to a.ColCount - 1 do
if a.Col(j).All(p -> p > 10) then
begin
Result := j;
Exit
end;
Result := -1;
end;
begin
var M := GetMatrix;
M.Println(4);
var k := MinCol(M);
if k = -1 then
Println('Нет столбцов, в которых все элементы больше 10')
else
Println('Минимальный номер найденного столбца:', k + 1)
end.




Вот программа на языке Паскаль, которая решает данную задачу с помощью подпрограмм-функций:
sqlprogram MinColumnNumber;
const
ROWS = 3;
COLUMNS = 4;
type
Matrix = array[1..ROWS, 1..COLUMNS] of integer;
function IsColumnGreaterThanTen(matrix: Matrix; col: integer): boolean;
var
i: integer;
begin
IsColumnGreaterThanTen := true;
for i := 1 to ROWS do
begin
if matrix[i, col] <= 10 then
begin
IsColumnGreaterThanTen := false;
break;
end;
end;
end;
function FindMinColumnNumber(matrix: Matrix): integer;
var
i, j: integer;
begin
FindMinColumnNumber := -1;
for j := 1 to COLUMNS do
begin
if IsColumnGreaterThanTen(matrix, j) then
begin
FindMinColumnNumber := j;
break;
end;
end;
end;
var
matrix: Matrix;
i, j, minColumn: integer;
begin
writeln('Введите элементы матрицы:');
for i := 1 to ROWS do
for j := 1 to COLUMNS do
readln(matrix[i, j]);
minColumn := FindMinColumnNumber(matrix);
if minColumn = -1 then
writeln('Столбца, состоящего только из элементов больших 10, нет')
else
writeln('Минимальный номер столбца, состоящего только из элементов больших 10: ', minColumn);
readln;
end.
Первая подпрограмма IsColumnGreaterThanTen
принимает на вход двумерный массив matrix
и номер столбца col
, и возвращает значение true
, если все элементы в данном столбце больше 10, и false
в противном случае.
Вторая подпрограмма FindMinColumnNumber
перебирает все столбцы матрицы, вызывает подпрограмму IsColumnGreaterThanTen
для каждого столбца и возвращает номер первого столбца, в котором все элементы больше 10.
В основной программе сначала пользователю предлагается ввести элементы матрицы. Затем вызывается подпрограмма FindMinColumnNumber
для поиска минимального номера столбца, состоящего только из элементов больших 10. Если такой столбец не найден, выводится сообщение "Столбца, состоящего только из элементов больших 10, нет". В противном случае выводится сообщение с минимальным номером найденного столбца.


Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili