
Составление программ с двумерными массивами ( в пасхале ) Сформировать массив из положительных
элементов той строки матрицы А размерности n×n,где обнаружен наибольший элемент этой матрицы

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

const
n=5;
var
i,j,maxi,maxj:integer;
a:array [1..n,1..n] of integer;
b:array of integer;
begin
maxi:=1; maxj:=1;
for i:=1 to n do
begin
for j:=1 to n do
begin
a[i,j]:=random(101)-50;
write(a[i,j]:4);
if a[i,j]>a[maxi,maxj] then
begin
maxi:=i;
maxj:=j;
end;
end;
writeln;
end;
writeln;
writeln('Строка: ', maxi);
j:=1; i:=1;
repeat
if a[maxi,j] >0 then
begin
setlength(b,i);
b[i-1]:=a[maxi,j];
inc(i);
end;
inc(j);
until j>n;
for j:=0 to length(b)-1 do
write(b[j]:4);
b:=nil;
end.



Для того чтобы решить данную задачу, нам понадобится следующий алгоритм:
1. Создадим двумерный массив А размерности n×n и заполним его случайными числами, включая и отрицательные значения. 2. Найдем наибольший элемент в массиве А и запомним его индексы (строка и столбец). 3. Создадим новый одномерный массив B размерности n и инициализируем его нулями. 4. Пройдемся по строке с индексом, найденным в пункте 2. Для каждого положительного элемента в этой строке запишем его значение в соответствующий элемент массива B с тем же индексом. 5. Выведем массив B.
Пример кода на языке Python, который выполняет описанный алгоритм:
```python import random
def generate_matrix(n): matrix = [] for i in range(n): row = [] for j in range(n): row.append(random.randint(-10, 10)) # заполняем случайными числами, включая отрицательные matrix.append(row) return matrix
def find_max_element(matrix): max_element = matrix[0][0] max_row = 0 max_col = 0 for i in range(len(matrix)): for j in range(len(matrix[i])): if matrix[i][j] > max_element: max_element = matrix[i][j] max_row = i max_col = j return max_row, max_col
def get_positive_elements(matrix, row): positive_elements = [] for element in matrix[row]: if element > 0: positive_elements.append(element) return positive_elements
n = 5 # размерность массива
matrix = generate_matrix(n) print("Массив А:") for row in matrix: print(row)
max_row, max_col = find_max_element(matrix) print("Наибольший элемент:", matrix[max_row][max_col])
positive_elements = get_positive_elements(matrix, max_row) print("Массив В из положительных элементов строки с наибольшим элементом:") print(positive_elements) ```
В данном примере размерность массива n равна 5, вы можете изменить значение переменной n на нужное вам. Код использует модуль random для генерации случайных чисел в матрице. Выводится массив А, наибольший элемент и массив B из положительных элементов строки с наибольшим элементом.
Надеюсь, это поможет вам составить программу с двумерными массивами для решения задачи.


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







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