Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.03.2009, 21:33   #1
NauDS
 
Регистрация: 02.03.2009
Сообщений: 3
По умолчанию След матрицы

Даны квадратная матрица порядка m и натуральное число n. Вычислить следы матрицы А, А^2,..., А^n. Помогите, с процедурами и функциями не работал, а срочно нужно. язык паскаль.
NauDS вне форума Ответить с цитированием
Старый 09.03.2009, 21:58   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Смотрим вниз страницы на "Похожие темы" и видим...ничего знакомого?
Пользуйтесь поиском.
http://programmersforum.ru/showthread.php?t=39812
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 09.03.2009, 22:04   #3
NauDS
 
Регистрация: 02.03.2009
Сообщений: 3
По умолчанию

Там решение на си, а для меня это еще больший лес
NauDS вне форума Ответить с цитированием
Старый 09.03.2009, 22:09   #4
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

А мою вторую фразу вы не увидели? Или не смотрели?
Есть поиск. Запрос "След матрицы". Одна из тем - http://programmersforum.ru/showthrea...F2%F0%E8%F6%FB
Для нахождения A^2 и т.д. введите "Умножение матриц".
Обсуждалось много раз.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 11.03.2009, 14:46   #5
NauDS
 
Регистрация: 02.03.2009
Сообщений: 3
По умолчанию

Вот моя программа, видимо я где-то с умножением ошибся, завтра сдавать, а я никак не могу разобраться до конца.
program sledmatr;
const
Nmax=10;
Type
tmatr=array[1..nmax,1..nmax] of real;
var
s:real;
Na,ia,ja:byte;
A,C:tmatr;
Procedure EnterMatr( var matr:tmatr; var n:byte; ch:char);
var
i,j:byte;
Begin
Writeln ('Введите размер матрицы ', ch);
write ('Количество строк=');
readln(n);
write ('Количество столбцов=');
readln(n);
for i:=1 to n do
for j:=1 to n do
begin
write(ch,'[',i,',',j,']=');
readln (matr[i,j]);
end;
End;
Procedure Ymn(a:tmatr; n:byte; var C:tmatr);
Var
i,j,k:byte;
s:real;
Begin
begin
for i:=1 to n do
for j:=1 to n do
c[i,j]:=0;
for k:=1 to n do
c[i,j]:=c[i,j]+a[i,k]*a[k,j];
End;
End;
Function Sled (const matr:tmatr;n:byte):integer;
var
i,j:byte;
s:real;
begin
s:=0;
for i:=1 to n do
s:=s+matr[i,i];
writeln(s:6:2);
End;
Procedure PrintMatr (const matr:tmatr; N:byte; ch:char);
var
i,j:byte;
s:real;
Begin
writeln('Матрица ',ch);
for i:=1 to n do
begin
for j:=1 to n do
write(matr[i,j]:6);
writeln;
end;
end;
Begin
EnterMatr(A,Na,'A');
Sled(A,Na);
Ymn(A,Na,C);
PrintMatr (A,Na,'A');
End.

Последний раз редактировалось NauDS; 11.03.2009 в 14:49.
NauDS вне форума Ответить с цитированием
Старый 11.03.2009, 15:06   #6
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

В функции умножения двойной begin:
Код:
Begin
begin
и с end'ом то же самое.
Про то, что матрицу нужно возвести в степень n (которую, кстати, надо ввести) вы, видимо, забыли.

Код:
program sledmatr;
const
Nmax=10;
Type
tmatr=array[1..nmax,1..nmax] of real;

var
Na,ia,ja:byte;
A,C:tmatr;
N,i : integer;

Procedure EnterMatr( var matr:tmatr; var n:byte; ch:char);
 var
 i,j:byte;
 Begin
 Writeln ('Введите размер матрицы ', ch);
 write ('Количество строк=');
 readln(n);
 write ('Количество столбцов=');
 readln(n);
 for i:=1 to n do
  for j:=1 to n do
   begin
   write(ch,'[',i,',',j,']=');
   readln (matr[i,j]);
   end;
 End;

Procedure Ymn(a:tmatr; n:byte; var C:tmatr);
 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]*a[k,j];
   End;
 End;

Function Sled (const matr:tmatr;n:byte):integer;
 var
 i,j:byte;
 s:real;
 begin
 s:=0;
 for i:=1 to n do
  s:=s+matr[i,i];
 writeln('Sled= ',s:6:2);
 End;

Procedure PrintMatr (const matr:tmatr; N:byte; ch:char);
 var
 i,j:byte;
 s:real;
 Begin
 writeln('Матрица ',ch);
 for i:=1 to n do
  begin
  for j:=1 to n do
   write(matr[i,j]:7:0);
  writeln;
  end;
 writeln;
 end;

Begin
EnterMatr(A,Na,'A');
write('Vvedite N: ');
readln(N);
Sled(A,Na);
for i:=1 to n-1 do
 begin
 writeln;
 Ymn(A,Na,C);
 A := C;
 PrintMatr (A,Na,'A');
 Sled(A,Na);
 end;
readln;
End.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обращение матрицы методом союзной матрицы dofmat Помощь студентам 6 03.10.2011 15:01
След матрицы r00tus Помощь студентам 2 25.02.2009 14:43
php - ссылки на пред. и след. статью iankov PHP 18 08.02.2009 02:22
как вытащить значение из sql запроса след.вида Tanuska___:) БД в Delphi 3 29.09.2008 15:54