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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.02.2009, 22:55   #1
r00tus
 
Регистрация: 24.02.2009
Сообщений: 3
По умолчанию След матрицы

Здравствуйте!
Помогите пожалуйста с задачей:
"Считать из файла или с клавиатуры матрицу и вычислить след матрицы. Все действия оформить, как процедуры или функции."
Что такое след матрицы выяснил..., но что-то все равно незнаю с какой стороны подойти к задаче.
P.S. Паскаль

Последний раз редактировалось r00tus; 24.02.2009 в 22:58.
r00tus вне форума Ответить с цитированием
Старый 25.02.2009, 01:52   #2
counter
Участник клуба
 
Регистрация: 18.10.2008
Сообщений: 1,409
По умолчанию

Вот такое задание было у нас (правда на Си)

Задание.
Даны квадратная матрица A порядка m и натуральное число n. Вычислить следы матрицы А, А^2,..., А^n.

Метод вычисления.
Следом матрицы называется сумма элементов ее главной диагонали. След матрицы в степени n определяется путем умножения матрицы на саму себя n раз и вычисления следа от полученной матрицы. Программа состоит из функции main(), функции вычисления следа матрицы calc_trace() и функции умножения двух матриц порядка m mul_matr().

Код:
#include <stdio.h>
         #include <stdlib.h>
         #include <bios.h> 
         #include <conio.h> 

//Умножение двух матриц
void mul_matr (unsigned long rez[25][25], unsigned long src[25][25], int);
//Вычисление следа матрицы
unsigned long calc_trace(unsigned long rez[25][25], int);

void main(void)
{
int m, i,j, a,n;
unsigned long src_m[25][25], rez_m[25][25];
clrscr();
puts("Bвedume размерность матрицы т<25");
scanf("%d",&m);
puts("Beedume натуральное число n<10");
scanf("%d",&n);

srand(n);
for (i=0; i<m; i++)
for (j=0;j<m;j++)
{
src_m[i][j]=rand() % 100;
rez_m[i][j]=src_m[i][j];
}
printf("\nПроинщиапизированная исходная матрица: "); 
for (i=0; i<m; i++)
{
   printf("\n");
   for(j=0;j<m;j++)
    {
        printf(" %d",src_m[i][j]);
    }
}

printf("\n След матрицы A = %lu",calc_trace(rez_m,m));

for(i=2; i<n+1;i++)
{ 
   mul_matr(rez_m, src_ m, m);
   printf("\n След матрицы А в степени %d = %lu",i,calc_trace(rez_m,m));
}
bioskey(0);
}

void mul_matr(unsigned long rez_m[25][25],unsigned long src[25][25], int m)
 {
    int i,j,a;
    unsigned long curr_m[25][25];
 
    for (i=0; i<m;i++)
    for(j=0;j<m;j++)
   {
       curr_m[i][j]=0;
   }
   for (i=0;i<m;i++)
   for (j=0;j<m;j++)
   for (a=0; a<m; a++) 
     curr_m[i][j]=curr_m[i][j]+rez_m[i][a]*src_m[a][j];

   for (i=0;i<m; i++)
   for (j=0;j<m;j++)
   {
       rez_m[i][j]=curr_m[i][j];
    }
}


unsigned long calc_trace (unsigned long rez_m[2S][25], int m)
{
   int i;
   
   unsigned long Trace=0;

    for (i=0; i<m; i++)
   {
     Trace=Trace+rez _m[i][i];
    } 
     retum Trace;
}
counter вне форума Ответить с цитированием
Старый 25.02.2009, 14:43   #3
Plague
Забанен
Форумчанин Подтвердите свой е-майл
 
Аватар для Plague
 
Регистрация: 01.11.2006
Сообщений: 420
По умолчанию

Пользуйтесь поиском, тема была!
Если ничто другое не помогает, прочтите, наконец, инструкцию! Аксиома Кана
Plague вне форума Ответить с цитированием
Ответ


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



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