помогите(девушке) найти ошибку, надо очень срочно

За вознаграждение или нахаляву (если повезёт)

Модераторы: Хыиуду, dr.Jekill, MOTOCoder, Medved

Ответить
ant
Сообщения: 2
Зарегистрирован: 12 янв 2007, 05:47

12 янв 2007, 17:29

// реализация метода LU разложения для решения системы линейных уравнений
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
int main()
{ int n, i, k, j;
float A[10][10], L[10][10], Y[10], U[10][10], R[10][10];
cout<<"Введите размерность не больше 10: ";
cin>>n;
cout<<"Введите коофиценты: ";
for (i=0;i<n;i++)
for (j=0;j<n;j++)
cin>>A[j];
cout<<"Введите Y: ";
for (i=0;i<n;i++)
cin>>Y;
//zadaem U
/**/ for (i=0;i<n;i++)
for (j=0;j<n;j++)
{U[j]=0;
L[j]=0;
// if(i<j)
if(j==0)
L[j]=A[j];
if(i==j)
U[j]=1;
else
if(i<j)
for(k=1;j-1;k++)
L[j]=A[j]-L[k]*U[k][j]+L[i][k]*U[k][j];
// U[i][j]=1/L[i][i]*(A[i][j]-L[i][k]*U[k][j]+L[i][k]*U[k][j]);
else
for(k=1;i-1;k++)
U[i][j]=1/L[i][i]*(A[i][j]-L[i][k]*U[k][j]+L[i][k]*U[k][j]);
// L[i][j]=A[i][j]-L[i][k]*U[k][j];
}/**/
/* if(i==j)
U[i][j]=1;
else
if(i<j)
U[i][j]=0; */

//zadaem L
/* for (i=0;i<n;i++)
for (j=0;j<n;j++)
if(i<j)
L[i][j]=0;
else
{if(i==j)
U[i][j]=1;
else
// if(i<j)
{U[i][j]=0;
if(j==0)
L[i][j]=A[i][j];
// }
else
for(k=1;j-1;k++)
{L[i][j]=A[i][j]-L[i][k]*U[k][j];
U[i][j]=1/L[i][i]*(A[i][j]-L[i][k]*U[k][j]);
}
}
// } */
// U[]
cout<<"U= \n";
for (i=0;i<n;i++)
for (j=0;j<n;j++)
{if(j==n)
cout<<"L= \n";
cout<<" "<<U[i][j];
// cout<<L[i][j];
}
cout<<"L= \n";
for (i=0;i<n;i++)
for (j=0;j<n;j++)
{if(i==n)
cout<<"\n";
cout<<" "<<L[i][j];
}
getch();
return 0;
}
Ответить