Пусть дано натуральное число n и целочисленная квадратная матрица - Turbo Pascal

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

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

Пусть дано натуральное число n и целочисленная квадратная матрица порядка n. Получите b1,b2.....bn, где b[i]- сумма элементов, расположенных за первым отрицательным элементом в i-й строку (если все элементы строки не отрицательные или отрицательный элемент на последнем месте, то принять b[i]=1))

Решение задачи: «Пусть дано натуральное число n и целочисленная квадратная матрица»

textual
Листинг программы
uses crt;
const nmax=15;
var a:array[1..nmax,1..nmax] of integer;
    b:array[1..nmax] of integer;
    n,i,j,k,s:integer;
begin
clrscr;
randomize;
repeat
write('Размер матрицы до ',nmax,' n=');
readln(n);
until n in [1..nmax];
writeln('Исходная матрица:');
for i:=1 to n do
 begin
  for j:=1 to n do
   begin
    a[i,j]:=-5+random(20);
    write(a[i,j]:4);
   end;
  writeln;
 end;
for i:=1 to n do
 begin
  s:=0;
  j:=1;
  k:=0;
  while(j<n)and(k=0) do
  if a[i,j]<0 then k:=j
  else inc(j);
  if k=0 then b[i]:=1
  else
   begin
    b[i]:=0;
    for j:=k+1 to n do
    inc(b[i],a[i,j]);
   end;
 end;
writeln('Массив В:');
for i:=1 to n do
write(b[i]:4);
readln
end.

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

  1. Создается окружение для работы с числовыми значениями, используя библиотеку crt.
  2. Объявляются переменные: nmax, a, b, n, i, j, k, s.
  3. Выводится сообщение о размере матрицы и запрашивается ее размер.
  4. Выводится исходная матрица.
  5. Для каждого элемента матрицы (i,j) вычисляется значение a[i,j] и выводится в консоль.
  6. Инициализируется переменная s, счетчики j и k устанавливаются равными нулю.
  7. Запускается цикл while, который выполняется до тех пор, пока j меньше n и k равно нулю.
  8. Внутри цикла проверяется условие a[i,j] меньше нуля. Если это условие истинно, то значение k устанавливается равным j.
  9. Если k равно нулю, то значение b[i] устанавливается равным единице.
  10. Если k не равно нулю, то значение b[i] устанавливается равным нулю.
  11. Для каждого j от k+1 до n увеличивается значение b[i] на a[i,j].
  12. Выводится массив В.
  13. Программа завершается, и пользователь приглашается ввести данные для следующей итерации.

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


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

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

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