Сформировать одномерные массивы А1 и B1 из элементов главных диагоналей матриц А и B - Free Pascal

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

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

Подпрограммы. Даны две квадратные матрицы:A размером 6х6 и B размером 10х10. Сформировать одномерные массивы А1 и B1 из элементов главных диагоналей матриц А и B.
Листинг программы
  1. Program tlen2;
  2. const nmax=6; mmax=10;
  3. type matr1=array[1..nmax,1..mmax] of integer;
  4. matr2=array[1..nmax,1..mmax] of integer;
  5. procedure matrix1(var a:matr1; var n,m:integer; c:char);
  6. var i,j:integer;
  7. begin
  8. writeln('matrix',c);
  9. repeat
  10. write('кол. строк',nmax,'n=');
  11. readln(n);
  12. until n in [6..nmax];
  13. repeat
  14. write('кол. столбцов',nmax,'n=');
  15. readln(m);
  16. until m in [6..nmax];
  17. for i:=1 to n do begin
  18. for j:=1 to m do begin
  19. a[i,j]:=random(50)-10;
  20. write(a[i,j]:4);
  21. end;
  22. writeln;
  23. end;
  24. end;
  25. procedure matrix2 (var a:matr2;var n,m:integer;c:char);
  26. var
  27. i,j:integer;
  28. begin
  29. writeln('matrix',c);
  30. repeat
  31. write('кол. строк',mmax, ' m=');
  32. readln(n);
  33. until n in [ 10..mmax];
  34. repeat
  35. write('кол. столбцов ',mmax,' m=');
  36. readln(m);
  37. until m in [10..mmax];
  38. for i:=1 to n do begin
  39. for j:=1 to m do begin
  40. a[i,j]:= random(60)+10;
  41. write(a[i,j]:4);
  42. end;
  43. writeln;
  44. end;
  45. end;
  46. function sd1 (a:matr1; n,m:integer):integer;
  47. var
  48. i,j:integer;
  49. begin
  50. for i:=1 to n do
  51. write(a[i,i]:4);
  52. end;
  53. function sd2(a:matr2; n,m:integer):integer;
  54. var
  55. i,j:integer;
  56. begin
  57. for i:=1 to n do
  58. write(a[i,i]:4);
  59. end;
  60. var
  61. a:matr1; b:matr2;
  62. na,ma,nb,mb,s,p:integer;
  63. begin
  64. matrix1(a,na,ma, 'A');
  65. s:=sd1(a,na,ma);
  66. writeln('massiv 1' , s:4);
  67. matrix2(b,nb,mb, 'B');
  68. p:=sd2(b,nb,mb);
  69. writeln('massiv 2' ,p:4);
  70. end.
(я глупый хлебушек в программировании, сильно не ругайте)

Решение задачи: «Сформировать одномерные массивы А1 и B1 из элементов главных диагоналей матриц А и B»

textual
Листинг программы
  1. uses crt;
  2. const n=6;
  3.       m=10;
  4. type matr=array[1..m,1..m] of integer;
  5.      mass=array[1..m] of integer;
  6. procedure matrix(var a:matr; x:integer; c:char);
  7. var i,j:integer;
  8. begin
  9. writeln('matrix',c);
  10. for i:=1 to x do
  11.  begin
  12.   for j:=1 to x do
  13.    begin
  14.     a[i,j]:=-10+random(50);
  15.     write(a[i,j]:4);
  16.    end;
  17.   writeln;
  18.  end;
  19. end;
  20. procedure massiv(a:matr;x:integer;var b:mass;s:string);
  21. var i:integer;
  22. begin
  23. writeln('Massiv ',s);
  24. for i:=1 to x do
  25.  begin
  26.   b[i]:=a[i,i];
  27.   write(b[i]:4);
  28.  end;
  29. writeln;
  30. end;
  31. var a,b:matr;
  32.     a1,b1:mass;
  33. begin
  34. clrscr;
  35. randomize;
  36. matrix(a,n,'A');
  37. massiv(a,n,a1,'A1');
  38. matrix(b,m,'B');
  39. massiv(b,m,b1,'B1');
  40. readln
  41. end.

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

  1. Объявлены две матрицы a и b типа matr и две переменные-массива a1 и b1 типа mass.
  2. В функции matrix происходит заполнение матрицы a случайными числами от -10 до 10 и выводится на экран.
  3. В функции massiv происходит заполнение массива b элементами главной диагонали матрицы a и выводится на экран.
  4. В основной программе вызываются функции matrix и massiv для формирования матрицы a и массивов a1 и b1.
  5. После выполнения всех функций программа ожидает ввода пользователя для завершения работы.

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


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

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

6   голосов , оценка 4.167 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы