Задача на матрицу - 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.

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

  1. Объявляются три переменные: a, b и n типа byte, а также переменные i и j типа byte.
  2. В цикле repeat-until пользователю предлагается ввести размер матрицы от 2 до 10.
  3. При получении корректного значения размера матрицы, генерируется случайная матрица А с помощью цикла for и присваивается значение элементу a[i,j] равное -1+10*random.
  4. Значение каждого элемента матрицы А выводится на экран с помощью цикла for и функции write.
  5. После вывода матрицы А, в цикле for ищем первый неотрицательный элемент в строке i и присваиваем его индекс переменной j.
  6. Если элемент не найден, то присваиваем переменной b[i] значение 0, иначе 1.
  7. Выводится массив В с помощью цикла for и функции write.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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