Форум программистов, компьютерный форум CyberForum.ru

решение Слау - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вычисление квадратного корня из числа http://www.cyberforum.ru/cpp-beginners/thread967649.html
Здравствуйте. Помогите пожалуйста написать код вычисления квадратного корня из числа. Среда программирования Dev-C++ #include <iostream> #include <math.h> int main() { double x = 2; double y = sqrt(x); std::cout << "sqrt(" << x << ") = " << y;
C++ Найти знакопеременную сумму элементов последовательности Помогите понять, что у меня не так с программой?? Дан список из n целых неотрицательных чисел:a1,a2,..,an. Найти: a1-a2+..+(-)an. */ #include <iostream> #include <windows.h> using namespace std; //элемент списка struck List { int info; List *pred, *next; http://www.cyberforum.ru/cpp-beginners/thread967646.html
C++ Как удалить одинаковые элементы из списка?
Нужно удалить из списка повторяющиеся элементы. Например в списке 1 1 0 0 3 3 оставить только 1 0 3. #include<iostream> #include<string> using namespace std; struct element { int data; element * next;
C++ Парные простые числа
Парными простыми числами называют два простых числа, разность которых равна двум, например: 3 и 5; 17 и 19. Напишите программу нахождения n таких пар.
C++ проверьте, кажется сам нашёл ошибку уже http://www.cyberforum.ru/cpp-beginners/thread967553.html
Вообщем захотел сделать задачку, чтение из файла символов произвольной длинны и поиск их кол-ва символов. Создаю 2 массива, Под длину массив a, под символы - массив b, начинаю считывать, всё правильно в цикле, а вот когда пытаюсь после цикла вывести массив а, то он почему-то обращается по другим адресам, т.е. а в цикле не своответствует а вне цикла, в чём фишка. Ну и заодно хотелось бы узнать...
C++ Расчёт значения функции в заданной точке Разработайте программу, рассчитывающую значения двух указанных функций. Входные значения аргументов запросите с консоли. Полученные значения функций выведите на консоль. Помогите,что не правильно??? Уже не могу 2 часа мучаюсь!!! #include <stdio.h> #include <math.h> void main() { float z1,z2,x,y; scanf("%f",&x,&y); подробнее

Показать сообщение отдельно
bodyart11
0 / 0 / 0
Регистрация: 05.01.2013
Сообщений: 4

решение Слау - C++

02.10.2013, 22:43. Просмотров 662. Ответов 1
Метки (Все метки)

Написал код для решение Слау методом lu-разложение, но он не работает, выдает ошыбки, которые не могу никак исправить. Прошу помочь. Давно не програмировал по-этому многое забыл. И еше я сделал это через клас, можэт не так надо?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
#include "stdafx.h"
#include "conio.h"
#include "math.h"
#include "iostream"
#include "iomanip"
using namespace std;
 
 
class lu
{
 
private:
    int n;
    double A[4][4];
    double B[4];
    double L[4][4], U[4][4], X[4], Y[4];
    public:
        void mm();
        void rozklad();
        void pryam();
        void zvorot();
        void vuvid();
};
void lu::mm()
{
    int n=4;
    double A[4][4]={{8.3, 2.62, 4.1, 1.9}, {3.92, 8.45, 7.78, 2.46}, {3.77, 7.21, 8.04, 2.28}, {2.21, 3.65, 1.69, 6.69}};
    double B[4]={-10.65, 12.21, 15.45, -8.35};
    for (int i=0; i<n; i++)
        for (int j=0; j<n; j++)
        { L[i][j]=0; U[i][j];}
}
void lu::rozklad()
{
//Сам метод
        for (int k=0; k<n; k++)
        {
            U[k][k]=1;
            for (int i=k; i<n; i++)
            {
                for (int m=0; m<=k-1; m++)
                    L[i][k]+=L[i][m]*U[m][k];
                L[i][k]=A[i][k]-L[i][k];
            }
            for (int j=k+1; j<n; j++)
            {
                for (int m=0; m<=k-1; m++)
                    U[k][j]+=L[k][m]*[m][j];
                U[k][j]=(A[k][j]-U[k][j])/L[k][k];
            }
        }
}
void lu::pryam()
{
//Прямой ход
        for (int i=0; i<n; i++)
            Y[i]=0;
        Y[0]=B[0]/L[0][0];
        for (int i=1; i<n; i++)
        {
            for (int m=0; m<=i-1; m++)
                Y[i]+=L[i][m]*Y[m];
            Y[i]=(B[i]-Y[i])/L[i][i];
        }
}
void lu::zvorot()
{
//обратный ход
        for (int i=0; i<n; i++)
            X[i]=0;
        X[n-1]=Y[n-1];
        for (int i=n-2; i>=0; i--)
        {
            for (int m=i+1; m<n; m++)
                X[i]+=U[i][m]*X[m];
            X[i]=Y[i]-X[i];}
}       
void lu::vuvid()
{
//вывод результата
        for(int i=0; i<n; i++)
            cout<<X[i]<<endl;
        
}
 
void main()
{ lu F;
F.mm();
F.rozklad();
F.pryam();
F.zvorot();
F.vuvid();
getch();
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru