Program Primer_17;
Uses WinCrt;
Const n = 5;
k = 2*n - 1;
mass_min = -50;
mass_max = 50;
Var i, j, t : Integer;
v : Array [1..k] Of Integer;
a : Array [1..n, 1..n] Of Integer;
Begin
ClrScr;
Randomize;
For i:=1 To n Do
For j:=1 To n Do
a[i, j]:= Random(mass_max – mass_min + 1) + mass_min;
WriteLn;
WriteLn(‘Исходный массив:’);
For i:=1 To n Do
Begin
For j:=1 To n Do
Write(a[i, j]:5);
WriteLn;
End;
WriteLn;
For i:=1 To k Do обнуляем выходной вектор
v[i]:= 0;
For i:=1 To n Do
For j:=1 To n Do
Begin
t:= i + j - 1; определяем индекс элемента вектора
v[t]:= v[t] + a[i,j]; вычисляем сумму элементов массива
End;
WriteLn;
WriteLn(‘Полученный вектор’);
WriteLn;
For i:=1 To k Do
Write(Vector[i]:5);
WriteLn;
ReadLn;
End.
18. Задать элементы целочисленного квадратного массива 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
Заменим элементы исходного массива элементами вычисляемого вектора:
vn vn-1 vn-2 vn-3 . . . v2 v1
vn+1 vn vn-1 vn-2 . . . v3 v2
vn+2 vn-1 vn vn-2 . . . v4 v3
. . . . . . . . . . . . . . . .
V2n-1 v2n-2 v2n-3 v2n-4 . . . vn+1 vn
Алгоритм очевиден:
Program Primer_18;
Uses WinCrt;
Const n = 5;
k = 2*n - 1;
mass_min = -50;
mass_max = 50;
Var i, j, m, t : Integer;
v : Array [1..k] Of Integer;
a : Array [1..n, 1..n] Of Integer;
Begin
ClrScr;
Дата добавления: 2015-08-08; просмотров: 475;