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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.02.2011, 21:15   #1
Monomah
Пользователь
 
Регистрация: 24.11.2010
Сообщений: 16
По умолчанию разложение матрицы на произведение двух треугольных в и н

необходимо разложить матрицу на две треугольные(верхнюю и нижнюю(так чтобы их главная диагональ состояла из едениц) причем их произведение должно давать исходную матрицу.....
С верхней треугольной(b[][]) все нормально...а вот нижняя прблема(с[][])
при выводе какой-то бред выводит...порой её торкает и выводит матрицу b[][], а так обычно выводит первый элемент исходной потом какоето 100500значное число а потом одни нули...че делать ваще не понимаю
ЗЫ код на Си
Код:
#include <stdio.h>
#include <conio.h>
void main(void)
{
int i,j,k,n;
double z,a[25],b[5][5],c[5][5],a1[25];

scanf("%d",&n);

for (i=0;i<n;i++)
    scanf("%lf",&a[i]);	
for(i=1;i<n;i++)
	for(j=1;j<n;j++)
		{
		if (i<j) c[i][j]=0;
		else
				 if (i==j) {b[i][j]=1;c[i][j]=0;}
				 else b[i][j]=0;
		}
		
for (i=0;i<n;i++)
	for (j=0;j<n;j++)
		if (i<j) if (c[i][i]==0) return 0;
                 else 
                 {
                      b[i][j]=a[i*n+j];
                      for (k=0;k<(i-2);k++)
                          b[i][j]=a[i*n+j]-c[i][k]*b[k][j];
                      b[i][j]=b[i][j]/c[i][i];
                 }
        else 
        {
            c[i][j]=a[i*n+j];
            for (k=0;k<(j-2);k++)
                c[i][j]=c[i][j]-c[i][k]*b[k][j];
        }
b[0][0]=1;
for (i=0;i<n;i++)
    for (j=0;j<n;j++)    
        printf("%lf\n",c[i][j]);
for (i=0;i<n;i++)
    for (j=0;j<n;j++)    
        printf("%lf\n",b[i][j]);
getch();
}
Monomah вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
разложение матрицы Monomah Помощь студентам 2 28.02.2011 19:47
Обращение матрицы методом разложения её на произведение двух треугольных(найти ошибку в коде) Monomah Общие вопросы C/C++ 0 20.02.2011 18:35
Обращение матрицы методом разложения её на произведение двух треугольных Monomah Помощь студентам 0 13.02.2011 18:03
Сумма четных элементов матрицы. Произведение элементов 3-го столбца. Минимальный элемент матрицы. renovare Помощь студентам 2 03.07.2009 21:13
Произведение двух матриц 010 Паскаль, Turbo Pascal, PascalABC.NET 5 03.06.2008 11:33