Найти наибольший элемент среди стоящих на главной и побочной диагоналях - Turbo Pascal (33745)
Формулировка задачи:
Дана действительная квадратная матрица порядка n, все элементы которой различны. Найти наибольший элемент среди стоящих на главной и побочной диагоналях и поменять его местами с элементом, стоящим на пересечении этих диагоналей.
Решение задачи: «Найти наибольший элемент среди стоящих на главной и побочной диагоналях»
textual
Листинг программы
// Г*Г*õîäèì Г*îìåðГ* Г¬Г*êñèìóìГ* äèГ*ГЈГ®Г*Г*ëåé imax:=1; jmax:=1; // Г*îìåðГ* Г¬Г*êñèìóìГ* for i:=1 to n do begin if a[i,i]>a[imax,jmax] then begin imax:=i; jmax:=j; end; if a[i,n-i+1]>a[imax,jmax] then begin imax:=i; jmax:=j; end; end; // Г§Г*ìåГ*Г* (tmp - âðåìåГ*Г*Г*Гї ïåðåìåГ*Г*Г*Гї) // Г°Г*çìåð Г¬Г*òðèöû - Г*ГҐГ·ГҐГІГ*îå ÷èñëî tmp:=a[n div 2+1,n div 2+1]; a[n div 2+1,n div 2+1]:=a[imax,jmax]; a[imax,jmax]:=tmp;
Объяснение кода листинга программы
- Переменные
imax
иjmax
инициализируются значением 1. - В цикле
for
происходит сравнение элементов массиваa
с элементамиimax
иjmax
. - Если текущий элемент
a[i,i]
большеa[imax,jmax]
, тоimax
иjmax
обновляются на значениеi
. - Если текущий элемент
a[i,n-i+1]
большеa[imax,jmax]
, тоimax
иjmax
обновляются на значениеi
. - После завершения цикла, в переменной
tmp
хранится максимальное значение из диагоналей массиваa
. - Значение
tmp
присваивается элементуa[n div 2+1,n div 2+1]
. - Элементы
a[n div 2+1,n div 2+1]
иa[imax,jmax]
меняются местами, при этом значениеtmp
присваивается элементуa[imax,jmax]
. - Значение
tmp
присваивается элементуa[imax,jmax]
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д