Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

Ответ
 
Опции темы
Старый 13.05.2012, 21:46   #1
youmustknowme
Новичок
 
Регистрация: 11.05.2012
Сообщений: 2
Репутация: 10
Вопрос Определитель матрицы

Посмотрите функцию нахождения определителя N*N
Когда запускаю отладчик показывает что в строке где if ошибка.
(newmatrix создает матрицу н*м, заполняя ее нулями)
Код C++
Код:

 double det(int N, double **A)
{
    if (N == 2)
        return A[0][0]*A[1][1] - A[0][1]*A[1][0];
    double det1 = 0;
// Разложение определителя по первому столбцу
    for (int i=0; i<N; i++)
    {
        double **min= newmatrix(N-1,N-1);
        for (int k=0; k<N-1; k++)
            for (int l=0; l<N-1; l++)
                if (k+1 >i) min[k][l] = A[k+1][l+1];
                else min[k][l] = A[k][l+1];
        det1 += pow(-1.0, i+2)*det(N-i-1,min);
    }
    return det1;


Последний раз редактировалось ACE Valery; 14.05.2012 в 12:56.
youmustknowme вне форума   Ответить с цитированием
Старый 14.05.2012, 09:54   #2
Serebro
FORTRAN programmer
Форумчанин
 
Регистрация: 08.12.2009
Сообщений: 153
Репутация: 19
По умолчанию

Цитата:
Сообщение от youmustknowme Посмотреть сообщение
Посмотрите функцию нахождения определителя N*N
Когда запускаю отладчик показывает что в строке где if ошибка.
(newmatrix создает матрицу н*м, заполняя ее нулями)
Код C++
double det(int N, double **A)
{
if (N == 2)
return A[0][0]*A[1][1] - A[0][1]*A[1][0];
double det1 = 0;
// Разложение определителя по первому столбцу
for (int i=0; i<N; i++)
{
double **min= newmatrix(N-1,N-1);
for (int k=0; k<N-1; k++)
for (int l=0; l<N-1; l++)
if (k+1 >i) min[k][l] = A[k+1][l+1];
else min[k][l] = A[k][l+1];
det1 += pow(-1.0, i+2)*det(N-i-1,min);
}
return det1;

k+1 выходит за правую границу массива A.
__________________
1. Программы: FORTRAN, BASIC, PASCAL.
Serebro вне форума   Ответить с цитированием
Старый 27.06.2012, 17:38   #3
vanomux
 
Регистрация: 13.02.2012
Сообщений: 5
Репутация: 10
По умолчанию

отсюда скачай http://algorithmlib.org/gauss_det
vanomux вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Определитель матрицы Roman Общие вопросы C/C++ 0 17.04.2012 05:51
определитель матрицы mozg2011 Общие вопросы Delphi 2 10.04.2012 17:55
Определитель матрицы Rekky Свободное общение 10 24.05.2011 20:40
Определитель матрицы 2 на 2 С++ Mashul'ka Помощь студентам 1 03.11.2010 01:08
Определитель матрицы Snake_ua Помощь студентам 7 10.02.2010 11:44


06:36.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru