Сформировать новую матрицу B, изъяв из матрицы A строку, в которой расположен максимальный элемент - PascalABC.NET

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

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

Здравствуйте. С Новым годом всех ! Помогите, пожалуйста, дорешать задачу : Сформировать новую матрицу B, изъяв из матрицы A строку, в которой расположен максимальный элемент среди элементов главной диагонали.

Решение задачи: «Сформировать новую матрицу B, изъяв из матрицы A строку, в которой расположен максимальный элемент»

textual
Листинг программы
var a,b:array[1..4,1..4] of real;
    max,imax:real;
    n,m,i,j:integer;
begin
randomize;
n:=4;
writeln('Матрица А:');
for i:=1 to n do
 begin
  for j:=1 to n do
   begin
    a[i,j]:=-20+random*(40);
    write(a[i,j]:8:2);
    if(i=1)and(j=1) then
     begin
      max:=a[1,1];
      imax:=i;
     end
    else if (j=i)and(a[i,j]>max) then
     begin
      max:=a[i,j];
      imax:=i;
     end;
   end;
  writeln;
 end;
writeln('Максимальный элемент главной диагонали=',max:0:2,', обнаружен в строке ',imax);
writeln('Матрица В');
m:=0;
for i:=1 to n do
if i<>imax then
 begin
  m:=m+1;
  for j:=1 to n do
  b[m,j]:=a[i,j];
 end;
for i:=1 to m do
 begin
  for j:=1 to n do
  write(b[i,j]:8:2);
  writeln;
 end;
end.

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

  1. Объявлены четыре переменные: a, b, max, imax типа array[1..4,1..4] of real.
  2. Задается размерность матрицы n=4.
  3. Выводится шаблон вывода матрицы А.
  4. Внутренний цикл перебирает элементы строки от 1 до 4.
  5. Внешний цикл перебирает элементы столбца от 1 до 4.
  6. Элементы матрицы А выводятся с шагом 2 знака после запятой.
  7. Если элемент (i,j) является элементом главной диагонали и равен максимальному элементу, то он заменяет значение переменной max и imax.
  8. Если элемент (i,j) равен максимальному элементу, но не является элементом главной диагонали, то он заменяет значение переменной max, но не imax.
  9. После вывода всех элементов матрицы А выводится максимальный элемент главной диагонали и номер строки, в которой он находится.
  10. Выводится шаблон вывода матрицы В.
  11. Переменная m инициализируется нулем. Она будет использоваться для подсчета количества строк матрицы В.
  12. Внутренний цикл перебирает элементы строки от 1 до 4.
  13. Если номер строки не равен номеру строки, содержащей максимальный элемент, то:
  14. переменная m увеличивается на единицу;
  15. внутренний цикл перебирает элементы столбца от 1 до 4;
  16. элемент матрицы А копируется в элемент матрицы В с индексом (m,j);
  17. после вывода всех элементов матрицы В выводится количество строк m.

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


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

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

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