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

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

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

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

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

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

найти обратную матрицу методов разложения её на проихведение двух треугольных, причем что исходная матрица что обратная должны быть заданны одномерными. код я вроде написал... но проверить не могу(
Код:
void main (void)
{
double z,a[1024],b[32][32],c[32][32],a1[1024];
int i,j,k,p,m,s,l;
scanf("%d",n);
for (i=1;i<n;i++)
{scanf("%lf",z);
a[i]=z;}
p=0;m=0;
for (i=1;i<n;i++)
for (j=1;j<n;j++)
for (i=k;k<(j-1);k++)
c[i][j]=a[i+i*n+j]-(p+c[i][k]*b[k][j]);
for (i=1;i<n;i++)
for (j=1;j<n;j++)
for (i=k;k<(i-1);k++)
b[i][j]=(a[i+i*n+j]-(m+c[i][k]*b[k][j]))/c[i][i];
p=0;m=0;s=0;
for (i=1;i<n;i++)
for (j=1;j<n;j++)
for (i=k;k<(j-1);k++)
if (i>j) a1[i]=(-1)*(p+a1[i+i*n+k]*c[k][j])/c[j][j];
for (i=1;i<n;i++)
for (j=1;j<n;j++)
for (i=k;k<(i+1);k++)
{if (i==j) a1[i+i*n+i]=(1-(m+a1[i+i*n+k]*c[k][i]))/c[i][i]; 
if (i<j) a1[i+i*n+j]=(-1)*(b[i][k]*a1[k+k*n]+m);}
for(i=1;i<n;i++)
{a[i]=z;
printf("%lf",z);}
}
Monomah вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обращение матрицы методом союзной матрицы dofmat Помощь студентам 6 03.10.2011 15:01
Обращение матрицы методом разложения её на произведение двух треугольных Monomah Помощь студентам 0 13.02.2011 18:03
Матрицы. ОЧЕНЬ ВАЖНО !!! Не могу найти ошибку в коде pasha92 Помощь студентам 0 24.12.2009 20:19