В матрице заменить все элементы каждой строки на минимальный элемент в этой строке - Pascal ABC
Формулировка задачи:
Здравствуйте) Помогите пожалуйста с решением задачи с помощью процедур и функций: Дана матрица размером nxn, нужно заменить все элементы каждой строки на минимальный элемент в этой строке.
Решение задачи: «В матрице заменить все элементы каждой строки на минимальный элемент в этой строке»
textual
Листинг программы
const nmax=20; type mtr=array[1..nmax,1..nmax] of integer; procedure vvod(var a:mtr;var n:integer); var i,j:integer; begin repeat write('Размер матрицы от 2 до ',nmax,' n='); readln(n); until n in [2..nmax]; for i:=1 to n do for j:=1 to n do a[i,j]:=random(50); end; procedure vyvod(a:mtr;n:integer;s:string); var i,j:integer; begin writeln(s); for i:=1 to n do begin for j:=1 to n do write(a[i,j]:3); writeln; end; end; procedure zamena(var a:mtr;n,k:integer); var i,mn:integer; begin mn:=a[k,1]; for i:=2 to n do if a[k,i]<mn then mn:=a[k,i]; for i:=1 to n do a[k,i]:=mn; end; var a:mtr; n,i:integer; begin randomize; vvod(a,n); vyvod(a,n,'Исходная матрица'); for i:=1 to n do zamena(a,n,i); vyvod(a,n,'Измененная матрица'); end.
Объяснение кода листинга программы
- В первой процедуре vvod, размер матрицы задаётся с помощью переменной n и проверяется на соответствие допустимому диапазону. Затем, в цикле, случайные числа генерируются для каждого элемента матрицы.
- Во второй процедуре vyvod, выводится исходная матрица. Каждый элемент матрицы выводится в формате 3 цифр.
- В третьей процедуре zamena, для каждого элемента матрицы, начиная с позиции k, происходит проверка. Если текущий элемент меньше mn, то mn обновляется. Затем, для каждого элемента матрицы, начиная с позиции k, значение обновляется на mn.
- В основной программе, сначала выполняется ввод исходной матрицы. Затем выполняется замена минимального значения на каждом элементе матрицы. И, наконец, выводится измененная матрица.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д