Сформировать одномерные массивы А1 и B1 из элементов главных диагоналей матриц А и B - Free Pascal
Формулировка задачи:
Подпрограммы.
Даны две квадратные матрицы:A размером 6х6 и B размером 10х10. Сформировать одномерные массивы А1 и B1 из элементов главных диагоналей матриц А и B.
(я глупый хлебушек в программировании, сильно не ругайте)
Program tlen2; const nmax=6; mmax=10; type matr1=array[1..nmax,1..mmax] of integer; matr2=array[1..nmax,1..mmax] of integer; procedure matrix1(var a:matr1; var n,m:integer; c:char); var i,j:integer; begin writeln('matrix',c); repeat write('кол. строк',nmax,'n='); readln(n); until n in [6..nmax]; repeat write('кол. столбцов',nmax,'n='); readln(m); until m in [6..nmax]; for i:=1 to n do begin for j:=1 to m do begin a[i,j]:=random(50)-10; write(a[i,j]:4); end; writeln; end; end; procedure matrix2 (var a:matr2;var n,m:integer;c:char); var i,j:integer; begin writeln('matrix',c); repeat write('кол. строк',mmax, ' m='); readln(n); until n in [ 10..mmax]; repeat write('кол. столбцов ',mmax,' m='); readln(m); until m in [10..mmax]; for i:=1 to n do begin for j:=1 to m do begin a[i,j]:= random(60)+10; write(a[i,j]:4); end; writeln; end; end; function sd1 (a:matr1; n,m:integer):integer; var i,j:integer; begin for i:=1 to n do write(a[i,i]:4); end; function sd2(a:matr2; n,m:integer):integer; var i,j:integer; begin for i:=1 to n do write(a[i,i]:4); end; var a:matr1; b:matr2; na,ma,nb,mb,s,p:integer; begin matrix1(a,na,ma, 'A'); s:=sd1(a,na,ma); writeln('massiv 1' , s:4); matrix2(b,nb,mb, 'B'); p:=sd2(b,nb,mb); writeln('massiv 2' ,p:4); end.
Решение задачи: «Сформировать одномерные массивы А1 и B1 из элементов главных диагоналей матриц А и B»
textual
Листинг программы
uses crt; const n=6; m=10; type matr=array[1..m,1..m] of integer; mass=array[1..m] of integer; procedure matrix(var a:matr; x:integer; c:char); var i,j:integer; begin writeln('matrix',c); for i:=1 to x do begin for j:=1 to x do begin a[i,j]:=-10+random(50); write(a[i,j]:4); end; writeln; end; end; procedure massiv(a:matr;x:integer;var b:mass;s:string); var i:integer; begin writeln('Massiv ',s); for i:=1 to x do begin b[i]:=a[i,i]; write(b[i]:4); end; writeln; end; var a,b:matr; a1,b1:mass; begin clrscr; randomize; matrix(a,n,'A'); massiv(a,n,a1,'A1'); matrix(b,m,'B'); massiv(b,m,b1,'B1'); readln end.
Объяснение кода листинга программы
- Объявлены две матрицы a и b типа matr и две переменные-массива a1 и b1 типа mass.
- В функции matrix происходит заполнение матрицы a случайными числами от -10 до 10 и выводится на экран.
- В функции massiv происходит заполнение массива b элементами главной диагонали матрицы a и выводится на экран.
- В основной программе вызываются функции matrix и massiv для формирования матрицы a и массивов a1 и b1.
- После выполнения всех функций программа ожидает ввода пользователя для завершения работы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д