Задана матрица целых чисел определить максимальный элемент этой матрицы и записать нули в строку в которой он находится - Pascal
Формулировка задачи:
В этой программе в том случае если максимальный элемент повторяется, она меняет на нули только одну строку, а нужно чтобы менялись все строки, в которых содержится максимальный элемент. Как это реализовать? Заранее спасибо за помощь!
Решение задачи: «Задана матрица целых чисел определить максимальный элемент этой матрицы и записать нули в строку в которой он находится»
textual
Листинг программы
program z; uses crt; var i,j,max,n,k:integer; a:array [1..100,1..100] of integer; s:set of byte; begin write('Размерность матрицы: '); readln(n); clrscr; randomize; writeln('Случайная матрица: '); for i:=1 to n do begin for j:=1 to n do begin a[i,j]:=-10+random(21); write(a[i,j]:4); if i*j=1 then max:=a[i,j] else if a[i,j]>max then max:=a[i,j]; end; writeln; end; s:=[];//множество строк где есть максимум for i:=1 to n do for j:=1 to n do if a[i,j]=max then s:=s+[i]; for i:=1 to n do if i in s then //если строка в множестве for j:=1 to n do a[i,j]:=0; //меняем элементы на 0 writeln('Результат: '); for i:=1 to n do begin for j:=1 to n do write(a[i,j]:4); writeln; end; end.
Объяснение кода листинга программы
- Задается размерность матрицы в виде целочисленного значения.
- Создается матрица целых чисел размером n на n.
- Заполняется матрица случайными целыми числами от -10 до 10.
- Находится максимальный элемент матрицы и сохраняется в переменной max.
- Создается пустое множество s, которое будет содержать номера строк, в которых встречается максимальный элемент.
- Происходит двойной цикл по всем элементам матрицы.
- Если элемент матрицы равен max, то он записывается в множество s.
- Происходит двойной цикл по всем элементам матрицы.
- Если номер строки из множества s, то все элементы этой строки заменяются на 0.
- Выводится исходная матрица.
- Выводится матрица, в которой нулями заменены элементы в строках, где был найден максимальный элемент.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д