Randomize;
For i:=1 To n Do
For j:=1 To m Do
Massiv[i, j]:= Random(mass_max – mass_min + 1) + mass_min;
WriteLn(‘Исходный массив:’);
For i:=1 To n Do
Begin
For j:=1 To m Do
Write(Massiv[i, j]:5);
WriteLn;
End;
WriteLn;
For i:=1 To n Do перебираем строки массива
Begin
min:= Massiv[i,1];
j_min:= 1; номер столбца с минимальным элементом в этойстроке
For j:=2 To m Do
If (Massiv[i,j] < min) Then
Begin
min:= Massiv[i,j];
j_min:= j;
End;
max:= Massiv[1, j_min]; ищем максимальный элемент в столбце,
i_max:= 1; содержащем минимальный элемент этой строки
For k:=2 To n Do
If (Massiv[k,j_min] > max) Then
Begin
max:= Massiv[k,j_min];
i_max:= k;
End;
If (i = i_max) Then
Begin
WriteLn(‘Номер строки=’,i,
‘ Номер столбца=’,j_min,
‘ Седловая точка=’, Massiv[i, j_min]);
Break;
End;
End; конеццикла по строкам
ReadLn;
End.
17. Задать элементы целочисленного квадратного массива ann случайными числами, лежащими в диапазоне от mass_min до mass_max. Исходный массив вывести на экран построчно. Заполнить вектор vk суммами элементов исходного массива, расположенных параллельно побочной диагонали (k = 2n – 1).
Для решения этой задачи рассмотрим исходный массив поэлементно:
a11 a12 a13 a14 . . . a1n
a21 a22 a23 a24 . . . a2n
a31 a32 a33 a34 . . . a3n
. . . . . . . . . . . . .
an1 an2 an3 an4 . . . ann
Заметим следующую закономерность образования сумм элементов по диагоналям, параллельным побочной:
v1 = a11 сумма индексов элемента 1 + 1 = 2
v2 = a21 + a12 сумма индексов элементов 1 + 2 = 3
v2 = a31 + a22 + a13 сумма индексов элементов 1 + 3 = 4
. . . . . . . . .
v2n-1 = ann сумма индексов элемента n + n = 2n
Таким образом, сумма индексов элементов массива, входящих в сумму элементов, на единицу меньше индекса соответствующего элемента вектора:
Дата добавления: 2015-08-08; просмотров: 484;