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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.79
Dilka
0 / 0 / 0
Регистрация: 14.12.2009
Сообщений: 5
#1

Схема Халецкого - C++

14.12.2009, 19:26. Просмотров 2593. Ответов 2
Метки нет (Все метки)

Очень нужна помощь!!!
нужно написать эту задачку на visual c++, на классах, используя методы get и set

Добавлено через 4 минуты
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
95
96
97
98
99
100
101
102
103
104
105
/*
    test108.cpp
 
    2/11/2007
*/
 
#include <stdio.h>
#include <alloc.h>
#include <float.h>
#include <math.h>
 
int cholesky_decomp(float *mat_a, float *mat_b, int sz)
{
    double sum;
    int    ii, jj, kk;
 
    for(ii = 0;ii < sz;ii++)
    {
        for(jj = ii;jj < sz;jj++)
        {
            sum = *(mat_a + ii + sz*jj);
 
            for(kk = ii - 1;kk >= 0;kk--)
                sum = sum - (*(mat_a + ii + sz*kk))*(*(mat_a + jj + sz*kk));
 
            if(ii == jj)
            {
                if(sum < 4*FLT_EPSILON)
                {
                    printf("Cholesky method failed!\n");
 
                    return 0;
                }    
 
                *(mat_b + ii + sz*ii) = sqrt(sum);
            }
            else
                *(mat_b + jj + sz*ii) = *(mat_a+ jj + sz*ii) = sum/( *(mat_b + ii + sz*ii));
        }
    }
 
   return 1;
}
 
void cholesky_solver(float *mat_b, float right[], float xx[], int sz)
{
    double sum;
    float  *p_temp;
    int    ii, jj;
 
    p_temp = (float*)malloc(sz*sizeof(right[0]));
 
    for(ii = 0; ii < sz; ii++)
    {
        sum = 0.0;
 
        for(jj = 0; jj < ii; jj++)
            sum += (*(mat_b + ii + sz*jj))*p_temp[jj];
 
        p_temp[ii] = (right[ii] - sum)/(*(mat_b + ii + sz*ii));
    }
 
    for(ii = sz - 1; ii >= 0; ii--)
    {
        sum = 0.0;
 
        for(jj = sz - 1; jj > ii; jj--)
            sum += (*(mat_b + jj + sz*ii))*xx[jj];
 
        xx[ii] = (p_temp[ii] - sum)/(*(mat_b + ii + sz*ii));
    }
 
     free(p_temp);
}
 
#define EQU_ORDER 4
 
float left[EQU_ORDER][EQU_ORDER] = {
                          {2.0f, -4.0f, -3.25f, 1.0f},
                          {3.0f, -3.0f, -4.3f, 8.0f},
                          {1.0f, -5.0f, 3.3f, -20.0f},
                          {2.5f, -4.0f, 2.0f, -3.0f}};
 
float right[EQU_ORDER] = {4.84f, 8.89f, -14.01f, -20.29f};
 
float bb[EQU_ORDER][EQU_ORDER];
 
float xx[EQU_ORDER];
 
int main()
{
    int ii;
 
    if(!cholesky_decomp((float*)&left[0][0], (float*)&bb[0][0], EQU_ORDER))
        return 0;
 
    cholesky_solver((float*)&bb[0][0], right, xx, EQU_ORDER);
 
    printf("Cholesky's Method\n\n");
    
    for(ii = 0; ii < EQU_ORDER; ii++)
       printf("  X%d = %+f\n", ii, xx[ii]);
 
    return 0;
}
вот нашла задачку,но она написана не на классах(((
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.12.2009, 19:26
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Схема Халецкого (C++):

Из Visual basic в С++. Схема Халецкого - C++
Вот задачка на basic: Sub Eq_Sol(a() As Double, b() As Double, x() As Double, n As Integer) Dim L(1 To 20, 1 To 20), R(1 To 20, 1...

Блок схема ( схема алгоритма ) - C++
Доброго времени суток . Есть вот такая програмка : bool checktwo(const int x); int main(){ for (int i=1000; i&lt;10000; i++) //...

Схема БД - C++
Здравствуйте...помогите составить схему БД правильно... Вот задание: Отдел продаж некоторой фирмы. * Клиенты: название компании,...

блок схема - C++
Добрый вечер ет задачка решена ребят помогите блок схему сделать оч нада. Дана целочисленная прямоугольная матрица. Определить: ...

Блок-схема - C++
Для элементов заданного массива длины N рассчитать: приложение всех отрицательных элементов, количество нечетных элементов, количество...

Блок Схема - C++
Может кто нибудь помочь с блок схемой, а то у меня не очень получаеться 1 #include &lt;iostream&gt; #include &lt;cstdlib&gt; #include &lt;ctime&gt; ...

2
outoftime
║XLR8║
510 / 432 / 33
Регистрация: 25.07.2009
Сообщений: 2,295
14.12.2009, 20:03 #2
условие
0
Dilka
0 / 0 / 0
Регистрация: 14.12.2009
Сообщений: 5
14.12.2009, 20:09  [ТС] #3
Решение системы линейных уравнений методом Халецкого
0
Миниатюры
Схема Халецкого   Схема Халецкого  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.12.2009, 20:09
Привет! Вот еще темы с ответами:

Блок-схема - C++
Всем привет! Запуталась с блок схемой для программы : Помогите , пожалуйста, составить... #include&lt;iostream&gt; using namespace...

блок схема - C++
Найти Q, P, R простые числа, р (р +1), Q (Q +1), г (г +1), цифры будут арифметической прогрессии

Блок-схема - C++
Помогите составить блок схему! #include&lt;iostream&gt; using namespace std; int main() { char name1, name2,str; int i,l; ...

Схема Горнера - C++
Дан многочлен P(x)=anxn + an−1xn−1+ … + a1x + a0 и число x. Вычислите значение этого многочлена, воспользовавшись схемой Горнера: ...


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

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

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