С Новым годом! Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 19.11.2015
Сообщений: 64
1

Вычислить матричное выражение

10.12.2015, 13:28. Показов 1501. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Даны 3 квадратные целые матрицы А, В и С четвертого порядка. Вычислить, используя процедуры:
1) A^2,B^2,C^2
2) A*B,B*C,C*A
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.12.2015, 13:28
Ответы с готовыми решениями:

Заданы три матрицы: A,B и C. Вычислить матричное выражение (A*(C+B*A)+C)*A
Заданы три матрицы: A,B и C. Вычислить матричное выражение (A*(C+B*A)+C)*A.

Написать программу, вычисляющую матричное выражение C=A*B+3*A*B
заранее спасибо за помощь

Проанализировать выражение, найти область допустимых значений аргумента x. Определить, как вычислить выражение
Проанализировать выражение, найти область допустимых значений аргумента x. Определить, как...

Вычислить выражение
Добрый день! Прошу помощи. Необходимо решить пример. ...

7
Почетный модератор
64303 / 47600 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
10.12.2015, 13:32 2
A^2,B^2,C^2=A*A,B*B,C*C
Делаешь 1 процедуру умножения квадратных матриц (легко найдешь на форуме) и 6 раз вызываешь ее в программе.

Добавлено через 51 секунду
Ну и процедуры ввода и вывода матриц, тоже примеров море.
1
0 / 0 / 0
Регистрация: 19.11.2015
Сообщений: 64
11.12.2015, 17:35  [ТС] 3
А процедуры ввода и вывода один раз указывать или для каждой пары матриц?
0
Почетный модератор
64303 / 47600 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
11.12.2015, 18:23 4
Процедура ввод вызывать 3 раза для А,В,С
Процедура вывод вызывать 9 раз для А,В,С, A^2,B^2,C^2, A*B,B*C,C*A
1
0 / 0 / 0
Регистрация: 19.11.2015
Сообщений: 64
11.12.2015, 18:45  [ТС] 5
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
program matrica;
uses crt;
var
a,b,c,d,e,u,r: array [1..100,1..100] of integer;
n,k,i,j,m: integer;
begin
clrscr;
write('Vvedite razmer matrici a: ');
readln(n);
for i:=1 to n do
begin
for j:=1 to n do
begin
writeln('Vvedite A: [',i,',',j,']:');
read(a[i,j]);
end;
end;
for i:=1 to n do
begin
for j:=1 to n do
begin
for k:=1 to n do
b[i,j]:= b[i,j]+a[i,k]*a[k,j];
end;
end;
for i:=1 to n do
  begin
for j:=1 to n do
write(b[i,j], ' ');
writeln;
readln;
end;
begin
write('Vvedite razmer matrici b: ');
readln(n);
for i:=1 to n do
begin
for j:=1 to n do
begin
writeln('Vvedite B: [',i,',',j,']:');
read(b[i,j]);
end;
end;
for i:=1 to n do
begin
for j:=1 to n do
begin
for k:=1 to n do
c[i,j]:= c[i,j]+b[i,k]*b[k,j];
end;
end;
for i:=1 to n do
  begin
for j:=1 to n do
write(c[i,j], ' ');
writeln;
readln;
end;
end;
begin
write('Vvedite razmer matrici c: ');
readln(n);
for i:=1 to n do
begin
for j:=1 to n do
begin
writeln('Vvedite C: [',i,',',j,']:');
read(c[i,j]);
end;
end;
for i:=1 to n do
begin
for j:=1 to n do
begin
for k:=1 to n do
d[i,j]:= d[i,j]+c[i,k]*c[k,j];
end;
end;
for i:=1 to n do
  begin
for j:=1 to n do
write(d[i,j], ' ');
writeln;
readln;
end;
end;
Writeln(' Peremnozenie matric A i B');
 for i:=1 to n do
   for j:=1 to n do begin
   e[i,j]:=0;
     for k:=1 to n do
          e[i,j]:= e[i,j]+a[i,k]*b[k,j];
   end;
for i:=1 to n do begin
 for j:=1 to n do
      write(e[i,j],' ');
      writeln;
end;
Writeln(' Peremnozenie matric B i C');
 for i:=1 to n do
   for j:=1 to n do begin
   u[i,j]:=0;
     for k:=1 to n do
          u[i,j]:= u[i,j]+b[i,k]*c[k,j];
   end;
for i:=1 to n do begin
 for j:=1 to n do
      write(u[i,j],' ');
      writeln;
end;
Writeln(' Peremnozenie matric C i A');
 for i:=1 to n do
   for j:=1 to n do begin
   r[i,j]:=0;
     for k:=1 to n do
          r[i,j]:= r[i,j]+c[i,k]*a[k,j];
   end;
for i:=1 to n do begin
 for j:=1 to n do
      write(r[i,j],' ');
      writeln;
end;
end.
А вы не можете записать эту программу с использованием процедур? Если нет, то все равно спасибо за предыдущие ответы
0
Почетный модератор
64303 / 47600 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
11.12.2015, 19:00 6
Цитата Сообщение от Vladuhakz Посмотреть сообщение
квадратные целые матрицы А, В и С четвертого порядка.
Так нахрена Вам
Цитата Сообщение от Vladuhakz Посмотреть сообщение
array [1..100,1..100] of integer;
Нельзя писать программы с полностью отключенным мозгом. И поиском Вы не пользовались ибо точно бы нашли почти готовую программу, а не этот бред.
0
0 / 0 / 0
Регистрация: 19.11.2015
Сообщений: 64
11.12.2015, 19:02  [ТС] 7
да знаю, что не нужно писать так массивы, но это просто программа без использования процедур, и она работает и все вычисляет, сам писал.
0
Почетный модератор
64303 / 47600 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
11.12.2015, 19:24 8
Лучший ответ Сообщение было отмечено Vladuhakz как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
const n=4;
type mtr=array[1..n,1..n] of integer;
procedure vvod(var a:mtr);
var i,j:byte;
begin
for i:=1 to n do
for j:=1 to n do
a[i,j]:=random(20);
end;
procedure vyvod(a:mtr;s:string);
var i,j:byte;
begin
writeln('Матрица ',s);
for i:=1 to n do
 begin
  for j:=1 to n do
  write(a[i,j]:4);
  writeln;
 end;
end;
procedure umn(a,b:mtr;var c:mtr);
var i,j,k:byte;
begin
for i:=1 to n do
for j:=1 to n do
 begin
  c[i,j]:=0;
  for k:=1 to n do
  c[i,j]:=c[i,j]+a[i,k]*b[k,j];
 end;
end;
 
var a,b,c,d,e,f,g,h,k:mtr;
begin
vvod(a);
vvod(b);
vvod(c);
vyvod(a,'A');
vyvod(b,'B');
vyvod(c,'C');
umn(a,a,d);
vyvod(d,'A^2');
umn(b,b,e);
vyvod(e,'B^2');
umn(c,c,f);
vyvod(f,'C^2');
umn(a,b,g);
vyvod(g,'A*B');
umn(b,c,h);
vyvod(h,'B*C');
umn(c,a,k);
vyvod(k,'C*A');
end.
1
11.12.2015, 19:24
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.12.2015, 19:24
Помогаю со студенческими работами здесь

Вычислить выражение
Составить программу с функцикй пользователя.

Вычислить выражение
Ребят помогите решить 2 задачки в паскале очень надо ( от души:)) 1 задачка . Введите некоторое...

Вычислить выражение
составить программу для вычисления выражения

Вычислить выражение
тема: Вложенные циклы


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru