Изменить все строки матрицы, в которых отрицателен элемент главной диагонали - Pascal ABC

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

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

Изменить все строки матрицы, в которых отрицателен элемент главной диагонали: к каждому элементу i-й строки прибавляется элемент Тi из заданного массива T1 T2 Tn. Подсчитать число измененных строк матрицы.

Решение задачи: «Изменить все строки матрицы, в которых отрицателен элемент главной диагонали»

textual
Листинг программы
uses crt;
const
n=7;
type mas=array[1..n,1..n] of integer;
type mas1=array[1..n] of integer;
var a:mas;
T:mas1;
i,j, k:integer;
begin
  randomize;
  writeln('Исходная матрица:');
  for i:=1 to n do
    begin
      for j:=1 to n do
        begin
          a[i,j]:=15-random(24);
          write(a[i,j]:3);
        end;
        writeln;
    end;
  writeln('Масив T:');
  for i:=1 to n do
    begin
      T[i]:=random(20);
      write(T[i]:3);
    end;
  writeln;
  k:=0;
  for i:=1 to n do
    begin
      if a[i,i]<0 then
      begin
        k:=k+1;
        for j:=1 to n do a[i,j]:=a[i,j]+T[j];
      end;
    end;
  writeln('Измененная матрица:');
  for i:=1 to n do
    begin
      for j:=1 to n do write(a[i,j]:3);
      writeln;
    end;
  Writeln('Количество измененных строк = ',k);
end.

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

  1. В начале кода используется библиотека crt, которая обеспечивает встроенную поддержку функций типа randomize и writeln.
  2. Переменная n инициализируется значением 7, что определяет размер матрицы.
  3. Создаются два типа данных: mas и mas1. Первый тип представляет собой матрицу размером n на n, а второй тип представляет собой одномерную матрицу размером n.
  4. Переменная a инициализируется значением mas. Это означает, что a представляет собой матрицу размером n на n.
  5. Переменная T инициализируется значением mas1. Это означает, что T представляет собой одномерную матрицу размером n.
  6. Используется цикл for для итерации по каждому элементу матрицы a.
  7. Внутри цикла проверяется условие: если элемент a[i,i] (элемент на главной диагонали) отрицателен, то выполняется следующая последовательность действий:
    • Увеличивается значение переменной k на 1.
    • Для каждого элемента j от 1 до n происходит следующее:
      • К элементам a[i,j] и a[i,j] добавляется значение T[j]. Это означает, что элементы a[i,j] увеличиваются на значение T[j].
    • Выводится значение переменной k.
  8. Завершается цикл for.
  9. Выводится измененная матрица, используя цикл for.
  10. Выводится количество измененных строк, используя переменную k.

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

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