Дана матрица A(N, M). Получить вектор X(M), равный P-ой строке матрицы.

0 голосов
70 просмотров

Дана матрица A(N, M). Получить вектор X(M), равный P-ой строке матрицы.


Информатика (55 баллов) | 70 просмотров
Дано ответов: 2
0 голосов
Правильный ответ
// PascalABC.NET 3.2, сборка 1382 от 06.02.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var n:=ReadInteger('Количество строк в массиве:');
  var m:=ReadInteger('Количество столбцов в массиве:');
  Writeln('*** Исходный массив [',n,',',m,'] ***');
  var a:=MatrRandom(n,m,-99,99);
  a.Println(4); Writeln(4*a.ColCount*'-');
  var p:=ReadInteger('Номер строки для формирования вектора:');
  var x:=a.Row(p-1); x.Println
end.

Пример:
Количество строк в массиве: 6
Количество столбцов в массиве: 9
*** Исходный массив [6,9] ***
  25 -94  49  38  93   6  76  61 -79
  49  25 -82 -43 -92 -51 -78  62   4
 -31  43 -78 -34  48  19 -17 -26 -98
  82  44 -43  36  82  50 -14  39 -87
  88 -25  12 -94 -96  68   7   9 -28
  96  38 -15 -77 -99 -78 -60 -21  57
------------------------------------
Номер строки для формирования вектора: 4
82 44 -43 36 82 50 -14 39 -87
(150k баллов)
0 голосов

Program prog;
Uses crt;

var a: array [0..100, 0..100] of integer;
    x: array [0..100] of integer;
    n,m,p,i,j: integer;
    
begin;
clrscr;
randomize;

write('N = ');
readln(n);
write('M = ');
readln(m);
write('P = ');
readln(p);
writeln;

for i:=1 to n do
begin
    for j:=1 to m do
        begin
        a[i,j]:= random(101)-50;
        write(a[i,j]:5);
        
        if (i=p) then
        x[j]:= a[i,j];
        end;
    writeln;
end;

writeln;
for j:=1 to m do
write(x[j]:5);

end.


(9.6k баллов)
0

То есть вектор...это просто строчка?