Форум программистов, компьютерный форум, киберфорум
Наши страницы
Visual C++
Войти
Регистрация
Восстановить пароль
 
SINI
0 / 0 / 0
Регистрация: 22.09.2010
Сообщений: 11
1

Помогите пожалуйста найти ошибку!!

18.04.2011, 16:06. Просмотров 302. Ответов 0
Метки нет (Все метки)

#include <iostream.h>
#include <math.h>
#include <conio.h>
int sign(double x)
{
if (x < 0) return -1;
else return 1;
}

void main()
{
double dd = -2;
double q = -3.23;
const int n = 5;

double a[n][n] = {
{q, 1, 0, 0, 0},
{1, -2, 1, 0, 0},
{0, 1, -2, 1, 0},
{0, 0, 1, -2, 1},
{0, 0, 0, 1, q}
};
double b[n] = {0, dd, dd, dd, 0};
double x[n];

int d[n];
double delta, s[n][n];

for (int k = 1; k <= n; k++)
{
delta = a[k - 1][k - 1];
if (k != 1)
for (int i = 1; i <= k - 1; i++)
delta -= d[i - 1]*s[i - 1][k - 1]*s[i - 1][k - 1];

d[k - 1] = sign(delta);
s[k - 1][k - 1] = sqrt(fabs(delta));

for (int j = k + 1; j <= n; j++)
{
delta = a[k - 1][j - 1];
if (k != 1)
for (int i = 1; i <= k - 1; i++)
delta -= d[i - 1]*s[i - 1][k - 1]*s[i - 1][j - 1];

s[k - 1][j - 1] = delta/(s[k - 1][k - 1]*d[k - 1]);
}
}

double y[n];
y[0] = b[0]/(s[0][0]*d[0]);

for (int i = 2; i <= n; i++)
{
delta = b[i - 1];
for (int k = 1; k <= i - 1; k++)
delta -= d[k - 1]*y[k - 1]*s[k - 1][i - 1];
y[i - 1] = delta/(s[i - 1][i - 1]*d[i - 1]);
}

x[n - 1] = y[n - 1]/s[n - 1][n - 1];
for (i = n - 1; i >= 1; i--)
{
delta = y[i - 1];
for (int k = i + 1; k <= n; k++)
delta -= x[k - 1]*s[i - 1][k - 1];
x[i - 1] = delta/s[i - 1][i - 1];
}
for (k = 0; k < n; k++) cout << " " << x[k];
cout << endl;
for(n=1,n<=k,n++) cout<<" "<<delta;
double maxi=-100;
{
if(maxi<=delta)maxi=delta;
}
cout<<"maxi="<<maxi<<endl;

return;
}





ошибка в том, что получается 5 одинаков чисел, т.е 5 одинаковых невязок!!!
мне надо тут вычислить 5 невязок для пяти Х и вывести на экран эти 5 пять невязок и макс невязку!!!
помогите пожалуйста буду очень благодарен!!!!
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.04.2011, 16:06
Ответы с готовыми решениями:

Помогите найти ошибку!!
#include&lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;iostream&gt; using namespace std; void main() {...

Помогите найти ошибку
#include &quot;stdafx.h&quot; void clearfile(WCHAR*file,DWORD counts) { HANDLE...

помогите найти ошибку
q=abs(b+log(b-cos(b));

С + + Функции. Помогите найти ошибку С2064
Ввести с клавиатуры некоторое число double х. Вывести значение y = sinx при 0 &lt;x &lt;Пи, иначе y =...

Удалить комментарии из файла. Помогите найти ошибку.
программа должна распознать комменитарии вида /* */ и // из входного файла, и записать в выходной...

0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.04.2011, 16:06

Не получается перекрасить картинку.Помогите найти ошибку.
Ребят надо перекрасить картинку в цвет который указывает user.Картинка конечно перекрашивается,но...

Помогите найти ошибку при создании потока в MFC
Пытаюсь создать поток, выводит ошибку: отсутствуют экземпляры перегруженная функция...

Как работает string-метод - substr(pos,n) ? Помогите найти ошибку!
Помогите найти ошибку: // substr.cpp : Defines the entry point for the console application. // ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.