Turbo Paskal "Операции над матрицами"

После запуска программы, пользователю предлагается выбрать требуемую операцию: нахождение определителя, обратной матрицы, транспонированной матрицы, сложение или вычитание двух матриц, умножение

Turbo Paskal Операции над матрицами

Курсовой проект

Компьютеры, программирование

Другие курсовые по предмету

Компьютеры, программирование

Сдать работу со 100% гаранией
else begin

det:=(MAS1[1,1]*MAS1[2,2]*MAS1[3,3] {Определитель}

+MAS1[2,1]*MAS1[3,2]*MAS1[1,3]

+MAS1[1,2]*MAS1[2,3]*MAS1[3,1])

-(MAS1[3,1]*MAS1[2,2]*MAS1[1,3]

+MAS1[3,2]*MAS1[2,3]*MAS1[1,1]

+MAS1[2,1]*MAS1[1,2]*MAS1[3,3]);

if det = 0 then WriteLn ('ОШИБКА!!!') {Условие ошибки}

else begin {Союзная матрица}

for i1:=1 to m1 do

for j1:=1 to n1 do MAS2[i1,j1]:=MAS1[j1,i1];

{Итоговая формула}

for i1:=1 to m1 do

for j1:=1 to n1 do MAS3[i1,j1]:=(1/det)*MAS2[i1,j1];

WriteLn;

WriteLn ('Обратная матрица:');

for i1:=1 to m1 do begin {Вывод обратной матрицы}

for j1:=1 to n1 do

Write (MAS3[i1,j1]);

WriteLn;

end;

end;

end;

end;

 

3: begin {Транспонирование матрицы}

for i1:=1 to m1 do

for j1:=1 to n1 do MAS2[i1,j1]:=MAS1[j1,i1]; {Формула}

WriteLn ('Транспонированная матрица: ');

for i1:=1 to m1 do begin {Вывод транспонированной матрицы}

for j1:=1 to n1 do

Write (MAS2[i1,j1]);

WriteLn;

end;

end;

 

4,5: begin {Сложение/вычитание матриц}

{Ввод второй матрицы}

WriteLn ('Введите кол-во строк второй матрицы');

ReadLn (m2);

Writeln ('Введите кол-во столбцов второй матрицы');

ReadLn (n2);

If (n2<>n1) or (m2<>m1)

then WriteLn ('OSHIBKA!!!') {Условие ошибки}

else begin

WriteLn ('Введите вторую матрицу');

for i1:=1 to m1 do

for j1:=1 to n1 do

Read (MAS2[i1,j1]);

end;

for i1:=1 to m1 do {Вывод второй матрицы}

begin

for j1:=1 to n1 do

Write (MAS2[i1,j1]);

WriteLn;

end;

 

if operation = 4 then k := 1;

if operation = 5 then k := -1;

for i1:=1 to m1 do

for j1:=1 to n1 do

MAS3[i1,j1]:=MAS1[i1,j1]+k*MAS2[i1,j1]; {Итоговая формула}

 

writeln('Сумма/разность:');

for i1:=1 to m1 do

begin

for j1:=1 to n1 do Write(MAS3[i1,j1]);

WriteLn;

end;

 

end;

 

 

6: begin {Умножение матриц}

{Ввод второй матрицы}

WriteLn ('Введите кол-во строк второй матрицы');

ReadLn (m2);

Writeln ('Введите кол-во столбцов второй матрицы');

ReadLn (n2);

If ((1>=m2) or (m2>=10) or (1>=n2) or (n2>=10) {Условие ошибки}

or (n2<>m1)) then WriteLn ('ОШИБКА!!!')

else begin

WriteLn ('Введите вторую матрицу');

for i2:=1 to m2 do

for j2:=1 to n2 do Read (MAS2[i2,j2]);

end;

for i2:=1 to m2 do begin {Вывод второй матрицы}

for j2:=1 to n2 do

Write (MAS2[i2,j2]);

WriteLn;

end;

m3:=m1; n3:=n2;

for i3:=1 to m3 do

for j3:=1 to n3 do begin

MAS3[i3,j3] := 0;

for i2:= 1 to m2 do

{Итоговая формула}

MAS3[i3,j3] :=MAS3[i3,j3] + MAS1[i3,i2] * MAS2[i2,j3];

end;

begin {Вывод произведения}

writeln;

writeln('Произведение:');

for i3:=1 to m1 do begin

for j3:=1 to n2 do Write (MAS3[i3,j3]);

WriteLn;

end;

end;

end;

End; {End Case}

ReadKey;

END. {Конец программы}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Пример работы программы

 

1. Операция нахождения определителя:

 

  1. При появлении на экране меню с выбором операций, выбираем 1.
  2. На предложение ввести кол-во строк матрицы, выбираем 3.
  3. Кол-во столбцов 3.
  4. Вводим матрицу: 1 4 5

5 3 7

8 1 4

  1. Программа выдает ответ: det = 54.

 

2. Операция нахождения обратной матрицы:

 

1) При появлении на экране меню с выбором операций, выбираем 2.

2) На предложение ввести кол-во строк матрицы, выбираем 3.

3) Кол-во столбцов 3.

4) Вводим матрицу: 1 4 5

5 3 7

8 1 4

5) Программа выдает ответ: 1,851*100 9,259*100 1,481*10

7,407*100 5,555*100 1,851*100

9,259*100 1,296*10 7,407*100 .

 

  1. Операция транспонирования матрицы:

 

1) При появлении на экране меню с выбором операций, выбираем 3.

2) На предложение ввести кол-во строк матрицы, выбираем 3.

3) Кол-во столбцов 3.

4) Вводим матрицу: 1 4 5

5 3 7

8 1 4

5) Программа выдает ответ: 1 5 8

4 3 1

5 7 4 .

 

  1. Операция сложения матриц:

 

1) При появлении на экране меню с выбором операций, выбираем 3.

2) На предложение ввести кол-во строк матрицы, выбираем 3.

3) Кол-во столбцов 3.

4) Вводим матрицу: 1 4 5

5 3 7

8 1 4

5) На предложение ввести кол-во строк матрицы, выбираем 3.

6) Кол-во столбцов 3.

7) Вводим матрицу: 2 8 10

10 6 14

16 2 8 .

8) Программа выдает ответ: 3 12 15

15 9 21

24 3 12 .

 

 

 

 

  1. Операция вычитания матриц:

 

1) При появлении на экране меню с выбором операций, выбираем 3.

2) На предложение ввести кол-во строк матрицы, выбираем 3.

3) Кол-во столбцов 3.

4) Вводим матрицу: 1 4 5

5 3 7

8 1 4

5) На предложение ввести кол-во строк матрицы, выбираем 3.

6) Кол-во столбцов 3.

7) Вводим матрицу: 2 8 10

10 6 14

16 2 8 .

8) Программа выдает ответ: -1 -4 -5

-5 -3 -7

-8 -1 -4 .

 

  1. Операция перемножения матриц:

 

1) При появлении на экране меню с выбором операций, выбираем 3.

2) На предложение ввести кол-во строк матрицы, выбираем 3.

3) Ко

Похожие работы

< 1 2 3 >