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

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

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

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

14.12.2009, 19:26. Просмотров 2429. Ответов 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;
}
вот нашла задачку,но она написана не на классах(((
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.12.2009, 19:26     Схема Халецкого
Посмотрите здесь:

Из Visual basic в С++. Схема Халецкого C++
C++ Блог схема
Блок-схема C++
блок схема C++
C++ Блок схема
C++ Блок-схема...
Схема БД C++
C++ Блок-схема
C++ Блок-схема

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
outoftime
║XLR8║
506 / 428 / 33
Регистрация: 25.07.2009
Сообщений: 2,297
14.12.2009, 20:03     Схема Халецкого #2
условие
Dilka
0 / 0 / 0
Регистрация: 14.12.2009
Сообщений: 5
14.12.2009, 20:09  [ТС]     Схема Халецкого #3
Решение системы линейных уравнений методом Халецкого
Миниатюры
Схема Халецкого   Схема Халецкого  
Yandex
Объявления
14.12.2009, 20:09     Схема Халецкого
Ответ Создать тему
Опции темы

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