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