Задача на матрицу - Pascal ABC (250551)
Формулировка задачи:
Дана действительная квадратная матрица порядка n. Построить последовательности b1...bn из нулей и единиц в которой b1=1, тогда и только тогда, когда в i-ой степени матрицы есть хотябы один отрицательный элемент.
Решение задачи: «Задача на матрицу»
textual
Листинг программы
var a:array[1..10,1..10] of real; b:array[1..10] of byte; n,i,j:byte; begin repeat write('Введите размер матрицы от 2 до 10 n='); readln(n); until n in [2..10]; randomize; writeln('Матрица А'); for i:=1 to n do begin for j:=1 to n do begin a[i,j]:=-1+10*random; write(a[i,j]:6:2); end; writeln; end; for i:=1 to n do begin j:=1; while(j<=n)and(a[i,j]>=0) do inc(j); if j>n then b[i]:=0 else b[i]:=1; end; writeln('Массив В'); for i:=1 to n do write(b[i]:2); end.
Объяснение кода листинга программы
- Объявляются три переменные: a, b и n типа byte, а также переменные i и j типа byte.
- В цикле repeat-until пользователю предлагается ввести размер матрицы от 2 до 10.
- При получении корректного значения размера матрицы, генерируется случайная матрица А с помощью цикла for и присваивается значение элементу a[i,j] равное -1+10*random.
- Значение каждого элемента матрицы А выводится на экран с помощью цикла for и функции write.
- После вывода матрицы А, в цикле for ищем первый неотрицательный элемент в строке i и присваиваем его индекс переменной j.
- Если элемент не найден, то присваиваем переменной b[i] значение 0, иначе 1.
- Выводится массив В с помощью цикла for и функции write.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д