Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
Kam_1995
34 / 34 / 22
Регистрация: 23.03.2013
Сообщений: 176
1

Найти определитель NxN - ой матрицы, затем это число умножить на каждый элемент матрицы, затем транспонировать матрицу

10.07.2013, 17:24. Просмотров 1016. Ответов 1
Метки нет (Все метки)

Программа сложная, поэтому пришлось выложить сюда.

Найти определитель введенной NxN-ой матрицы, затем это число умножить на каждый элемент матрицы, затем транспонировать полученную матрицу.
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.07.2013, 17:24
Ответы с готовыми решениями:

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

Найти минимальный элемент матрицы, а затем столбец, в котором он содержится
Дана матрица С размера n*n,где n<=15. Элементы матрицы вычисляются по формуле...

Ввод с клавы размера целочисленной матрицы, а затем самой матрицы. Найти наибольший элемент. Разрешается использовать только один оператор цикла
С клавиатуры вводится размерность целочисленной матрицы, затем сама матрица. Найти наибольший...

Каждый элемент матрицы умножить на максимальный элемент у поточному рядку. Вывести на экран начальную та полученную матрицы
Здравствуйте! Дано задание: Каждый элемент матрицы умножить на максимальный элемент у поточному...

1
Puporev
Модератор
59465 / 44866 / 30971
Регистрация: 18.05.2008
Сообщений: 107,652
10.07.2013, 18:18 2
Лучший ответ Сообщение было отмечено Kam_1995 как решение

Решение

Нахождение определителя взял здесь
http://delphid.dax.ru/www/exampl7.htm
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
uses crt;
const nmax=6; { макс. размерность матрицы }
type matr=array[1..nmax,1..nmax] of integer;
procedure PrintMatr(m:matr;n:integer);
{ процедура вывода матрицы на экран }
var i,j:integer;
begin
for i:=1 to n do
 begin
  for j:=1 to n do
  write(m[i,j]:7);
  writeln;
  end;
end;
procedure GetMatr(a:matr; var b:matr; m,i,j:integer);
{ Вычеркивание из матрицы строки и столбца }
var ki,kj,di,dj:integer;
begin
di:=0;
for ki:=1 to m-1 do
 begin
  if (ki=i) then di:=1;
  dj:=0;
  for kj:=1 to m-1 do
   begin
    if (kj=j) then dj:=1;
    b[ki,kj]:=a[ki+di,kj+dj];
   end;
 end;
end;
Function Determinant(a:matr;n:integer):longint;
{ Вычисление определителя матрицы(рекурсивное) }
var i,j,d,k:longint;
    b:matr;
begin
d:=0; k:=1;
if n=1 then d:=a[1,1]
else if n=2 then d:=a[1,1]*a[2,2]-a[2,1]*a[1,2]
else { n>2 }
 for i:=1 to n do
  begin
   GetMatr(a,b,n,i,1);
   d:=d+k*a[i,1]*Determinant(b,n-1);
   k:=-k;
  end;
Determinant:=d;
end;
procedure Umnozenie(var a:matr;n,d:integer);
var i,j:integer;
begin
for i:=1 to n do
for j:=1 to n do
a[i,j]:=a[i,j]*d
end;
procedure Trans(var a:matr;n:integer);
var i,j,x:integer;
begin
for i:=2 to n do
for j:=1 to i-1 do
 begin
  x:=a[i,j];
  a[i,j]:=a[j,i];
  a[j,i]:=x;
 end
end;
var a:matr;
    n,i,j,dt:integer;
begin
clrscr;
randomize;
{ Заполнение матрицы случайными числами }
repeat
write('Размер матрицы до ',nmax,' n=');
readln(n)
until n in [1..nmax];
for i:=1 to n do
for j:=1 to n do
a[i,j]:=-5+random(11);
{ Печать исходной матрицы }
writeln('Исходная матрица:');
PrintMatr(a,n);
{ Вычисление и вывод определителя }
dt:=Determinant(a,n);
writeln('Определитель=',dt);
Umnozenie(a,n,dt);
writeln('Умножение на определитель:');
PrintMatr(a,n);
Trans(a,n);
writeln('Транспонирование:');
PrintMatr(a,n);
readln
end.
1
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.07.2013, 18:18

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Все элементы массива уменьшить на 20, затем умножить на последний элемент и увеличить на число B
Помогите написать полный код на C++. Дан массив. Все его элементы: а) Уменьшить на 20 б)...

В каждой строке матрицы найти наибольший элемент, затем получить их сумму
дан массив 1004 0230 2003 0140 Задание: полученный массив напечатать.В каждой строке найти...

Найти строку, сумма элементов которой минимальна, и умножить на минимальную сумму каждый элемент матрицы
Дан массив А={2,14,1,9,2,6,5,8,12}. Найти строку, сумма элементов которой минимальна, и умножить на...

Дан массив А[3][3]={2,14,1,9,2,6,5,8,12}. Найти строку, сумма элементов которой минимальна, и умножить на минимальную сумму каждый элемент матрицы
Дан массив А={2,14,1,9,2,6,5,8,12}. Найти строку, сумма элементов которой минимальна, и умножить на...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.