Дана матрица. Получить из нее вектор, содержащий суммы элементов строк. Отсортировать его в порядке убывания элементов.
Решение:
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
program procedures_3;
uses crt; var rez, k, m: integer; y: array[1..5, 1..5] of integer; mas: array[1..5] of integer; {процедура} procedure matr_sum(n, r: integer; var A: array[1..5] of integer); var i, j, x, key: integer; begin A[n]:=A[n]+r; if n=5 then begin for i:=1 to 5 do begin x:=A[i]; key:=i; for j:=i+1 to 5 do if A[key]<A[j] then key:=j; if key<>i then begin A[i]:=A[key]; A[key]:=x; end; end; end; end; {основная программа} begin clrscr; randomize; {обработка матрицы} for k:=1 to 5 do begin rez:=0; for m:=1 to 5 do begin y[k, m]:=random(10); {присвоение элементам случайных значений} write(y[k ,m]:3); rez:=rez+y[k, m]; end; matr_sum(k, rez, mas); {вызов процедуры} writeln; end; writeln(‘Новый массив ‘); for k:=1 to 5 do {вывод получившегося вектора} write(mas[k]:3); readkey; end. |