IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> сравнение и перемножение матриц, в виде подпрограмм
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 23
Пол: Мужской

Репутация: -  0  +


Есть недоделанная программка, нужно оформить в виде функций или процедур сравнение и перемножение матриц.
Код

program kursovaya;
Uses  crt;
Const amax=50; bmax=50;
Type massiv = array [1..amax,1..bmax] of real;
var
  a1, b1, a2, b2, a3, b3, a4, b4, i, j, k: integer;
  s, l: real;
  m1, m2, m3, m4: massiv;

Procedure input_array (a,b: integer; var mas: massiv);
  var i,j: integer;
  begin
   for i:=1 to a do
    for j:=1 to b do
     begin
      randomize;
       for i:=1 to a do
       for j:=1 to b do
       mas[i,j]:=random(50);
     end;
   end; {input_array}

Procedure out_array (a, b:integer; mas: massiv);
  var i, j: integer;
   begin
    write('Matrica ',a:2); writeln(' X',b:2);
    for i:=1 to a do
     begin
      writeln;
      for j:=1 to b do
       write(mas[i,j]:4:0);
     end;
     writeln;
   end;  {out_array}
Begin
    clrscr;
   Writeln('Vvedite matricu 1');
   Repeat
    Write('Vvedite kolichestvo strok matrici m1 <= '  ,amax:2);
    write(', i = ');
    readln(a1);
    Write('Vvedite kolichestvo stolbcov matrici m1 <= ',bmax:2);
    write(', j = ');
    readln(b1);
   Until (a1<=amax) and (b1<=bmax);
    input_array (a1,b1,m1);
    out_array (a1,b1,m1);
    readln;
     Writeln('Vvedite matricu 2');
   Repeat
    Write('Vvedite kolichestvo strok matrici m2 <= '  ,amax:2);
    write(', i = ');
    readln(a2);
    Write('Vvedite kolichestvo stolbcov matrici m2 <= ',bmax:2);
    write(', j = ');
    readln(b2);
   Until (a2<=amax) and (b2<=bmax);
    input_array (a2,b2,m2);
    out_array (a2,b2,m2);
    readln;
     Writeln('Vvedite matricu 3');
   Repeat
    Write('Vvedite kolichestvo strok matrici m3 <= '  ,amax:2);
    write(', i = ');
    readln(a3);
    Write('Vvedite kolichestvo stolbcov matrici m3 <= ',bmax:2);
    write(', j = ');
    readln(b3);
   Until (a3<=amax) and (b3<=bmax);
    input_array (a3,b3,m3);
    out_array (a3,b3,m3);
    readln;
     Writeln('Vvedite matricu 4');
   Repeat
    Write('Vvedite kolichestvo strok matrici m4 <= '  ,amax:2);
    write(', i = ');
    readln(a4);
    Write('Vvedite kolichestvo stolbcov matrici m4 <= ',bmax:2);
    write(', j = ');
    readln(b4);
   Until (a4<=amax) and (b4<=bmax);
    input_array (a4,b4,m4);
    out_array (a4,b4,m4);
    readln;

      writeln (a1, b1, a2, b2, a3, b3, a4, b4);   {vse [i,j]}

      for i:=1 to a1 do
       for j:=1 to b2 do
      begin
      s:=0;                       {umnogenie matric}
      for k:=1 to a1 do
      s:=s+m1[i,k]*m2[k,j];
      m4[i,j]:=s;
      end;

      for i:=1 to a1 do
       begin
       writeln;
      for j:=1 to b2 do
       write(m4[i,j]:4:0, ' ');
       end;
      writeln;
      writeln;


       begin                
       l:=0;
       for i:=1 to a1 do
       l:=l+m4[i,i];              {summa el-tov na glavnoy diagonali}
       end;
       writeln(l:4:0);
       readln;



readln;
End.


Сообщение отредактировано: мисс_граффити -


Прикрепленные файлы
Прикрепленный файл  KURS2.PAS ( 2.93 килобайт ) Кол-во скачиваний: 273
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


Closed Topic Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.03.2024 20:57
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name