Построить последовательность из нулей и единиц - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

Даны две действительные квадратные матрицы порядка m. Построить последовательность из нулей и единиц b1,..., bn, где bi =1, если элементы i-ой строки матрицы образуют возрастающую последовательность и bi =0 в противном случае.
Подскажите ,почему у меня процедура Prover не работает? что там не так? Я уже не знаю какую неделю мучаю эту процедуру. Помогите пожалуйста, я в тупике...

Решение задачи: «Построить последовательность из нулей и единиц»

textual
Листинг программы
uses crt;
const
  m = 4;
 
type
  Matrix = array[1..m, 1..m] of integer;
  Mar = array[1..m] of integer;
 
var
  a, c: matrix;
  b: mar;
  i, j, n: integer;
 
 
procedure RanMat(var matr: matrix);
var
  i, j: integer;
begin
    for i := 1 to m do
    begin
      for j := 1 to m do
        matr[i, j] := random(10)+5*j;
    end;
end;
 
procedure Prover(matr: matrix);
var pr:boolean;
begin
for i:=1 to m do
begin
b[i]:=0;
pr:=true;
for j:=1 to m-1 do
if (matr[i,j]>=matr[i,j+1]) then pr:=false;
if pr=true then
b[i]:=1
else b[i]:=0;
write(b[i],' ');
end;
writeln;
end;
 
 
procedure Print(var matr: Matrix);
var
  i, j : integer;
begin
  for i := 1 to m do
  begin
    for j := 1 to m do
      write(matr[i, j]:4);
    writeln;
  end;
end;
 
 
begin
  clrscr;
  randomize;
  writeln('First: ');
  RanMat(a);
  Print(a);
  Prover(a);
  writeln('Second: ');
  RanMat(c);
  Print(c);
  Prover(c);
  readkey;
end.

Объяснение кода листинга программы

  1. В начале кода используются необходимые библиотеки и определения.
  2. Далее определяются две переменные типа Matrix: a и c.
  3. Затем определяются три переменные типа Mar: b, i и j.
  4. В процедуре RanMat происходит генерация случайной последовательности для матрицы a. Для каждого элемента i строки и j столбца матрицы a присваивается случайное число от 0 до 9 (10j) + 5j.
  5. В процедуре Prover происходит проверка полученной последовательности на четность. Если все элементы равны 1, то pr устанавливается в true, иначе в false. Затем для каждого элемента i строки матрицы a присваивается значение b[i] равное 1, если pr равно true, и 0 в противном случае.
  6. В конце кода вызывается процедура Print, которая выводит элементы матрицы a.
  7. Код завершается вызовом функции readkey для чтения нажатия клавиши.

Оцени полезность:

6   голосов , оценка 4 из 5
Похожие ответы