Умова: У даній дійсній матриці розмірністю 6x9 знайти суму елементів рядка, що містить найбільший елемент. Вважається, що такий елемент у матриці єдиний.
Розв'язання: Щоб знайти суму елементів заданого рядка, спочатку визначимо, в якому з рядків матриці знаходиться максимальний елемент. Після цього ми повинні запам'ятати номер рядка, в якому він знаходиться. Використаємо для цього додаткову змінну N_max. Після повного проходу по масиву з метою пошуку максимуму, організовуємо новий цикл, але вже не по всьому масиву, а тільки по рядку з номером Njnax для обчислення суми елементів цього рядка. Програма для реалізації описаного алгоритму має наступний вигляд:
Program Example_358;
Uses crt;
Type masiv = array[1..6,1..9] of real;
Var A: Masiv;
i,j:byte; {i,j - змінні циклу}
Sum,max:real;
{Sum — сума елементів таблиці, max — махе. елемент таблиці}
N_max:byte; {Njnax — номер рядка, що містить махс. елемент}
Begin
Randomize;
Clrscr;
Writeln('Вихідний масив: ');
Fox i:=1 to 6 do
Begin
For j:=1 to 9 do
Begin
A[i,j]:=random*12-random(65)/ll; Write(A[i,j]:8:2);
end;
writeln;
End;
{Беремо у якості еталону перший елемент масиву}
mах:=А[1,1];
Nmax:=1; For i:=1 to 6 do
For j:=1 to 9 do
if A[i,j]>max then
Begin max:=A[i,j]; N_max:=i; End;
Writeln('Максимальний елемент масиву - ',max:8:2);
Sum:=0; {Початкове значення суми}
For j:=1 to n do
Sum: =Sum+A [ N_max, j ] ;
Writeln(*Отримана сума - ',Sum:8:2); Readkey;
End.
Домашнє завдання:
• Задачі № 314, № 321, № 350(2), № 353(1), № 355(2), № 360(1), № 361.