Задача на паскале Дана прямоугольная матрица размерности MxN. Сформировать вектор В, где: B[I]=1,если элементы I строки составляют строго возрастающую последовательность; B[I]=0,если элементы I строки не составляют строго возрастающую последовательность
const M = 5; // количество строк N = 4; // количество столбцов type Matrix = array[1..M, 1..N] of Integer; Vector = array[1..M] of Integer; function CheckIncreasingSequence(row: array of Integer): Boolean; var i: Integer; begin for i := 1 to Length(row) - 1 do begin if row[i] >= row[i + 1] then begin CheckIncreasingSequence := False; Exit; end; end; CheckIncreasingSequence := True; end; procedure FormVector(matrix: Matrix; var B: Vector); var i, j: Integer; begin for i := 1 to M do begin if CheckIncreasingSequence(matrix[i]) then B[i] := 1 else B[i] := 0; end; end; var A: Matrix; B: Vector; i, j: Integer; begin // заполнение матрицы A случайными значениями Randomize; for i := 1 to M do begin for j := 1 to N do begin A[i, j] := Random(10); // случайное значение от 0 до 9 end; end; // формирование вектора B FormVector(A, B); // вывод вектора B for i := 1 to M do Write(B[i], ' '); end.
Этот код создает случайную матрицу A размерности 5x4, затем формирует вектор B в соответствии с условиями задачи и выводит его на экран.
Пример реализации на языке Pascal:
constM = 5; // количество строк
N = 4; // количество столбцов
type
Matrix = array[1..M, 1..N] of Integer;
Vector = array[1..M] of Integer;
function CheckIncreasingSequence(row: array of Integer): Boolean;
var
i: Integer;
begin
for i := 1 to Length(row) - 1 do
begin
if row[i] >= row[i + 1] then
begin
CheckIncreasingSequence := False;
Exit;
end;
end;
CheckIncreasingSequence := True;
end;
procedure FormVector(matrix: Matrix; var B: Vector);
var
i, j: Integer;
begin
for i := 1 to M do
begin
if CheckIncreasingSequence(matrix[i]) then
B[i] := 1
else
B[i] := 0;
end;
end;
var
A: Matrix;
B: Vector;
i, j: Integer;
begin
// заполнение матрицы A случайными значениями
Randomize;
for i := 1 to M do
begin
for j := 1 to N do
begin
A[i, j] := Random(10); // случайное значение от 0 до 9
end;
end;
// формирование вектора B
FormVector(A, B);
// вывод вектора B
for i := 1 to M do
Write(B[i], ' ');
end.
Этот код создает случайную матрицу A размерности 5x4, затем формирует вектор B в соответствии с условиями задачи и выводит его на экран.