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

Ошибка в решении СЛАУ методом Гаусса - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ вывод матрицы http://www.cyberforum.ru/cpp-beginners/thread355749.html
Как можно переделать эту процедуру ,чтобы результат-конечная матрица выводидась в таблицу? void Matrix :: Print(TMemo *memo) { char num = ""; AnsiString c= ""; memo->Clear(); char str = ""; sprintf(str, "\t%%.%df", 3); for(int i = 0 ; i < size_ ; i ++) {
C++ Интегрирование методом трапеций Доброго времени суток. Мне нужно реализовать интегрирование методом трапеций. Формулу я взял в Википедии \int_{a}^{b}f(x)=(\frac{f(a)+f(b)}{2}+\sum_{i=1}^{k-1}f({x}_{i}))h и вот, что я написал: typedef double (*real)(double x); //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) http://www.cyberforum.ru/cpp-beginners/thread355743.html
C++ Панель компонентов в Visual Studio
Только начал ковырять Visual Studio. Не могу найти, есть ли здесь панель структуры компонентов вынесенных на форму(оконного приложения), как в Builder'е? Вроде уже все переклацал и в книжке не нашел. Нужно чтоб было видно весь список использованных компонентов- всякие Button Panel и т.п. Добавлено через 10 часов 16 минут Спасибо. View->Other Windows->Document Outline
AnsiString C++
Можно ли вывести строку AnsiString в таблицу если да то как это сделать?
C++ Object-oriented programming Help http://www.cyberforum.ru/cpp-beginners/thread355738.html
Помогите пожалуйста доделать, никак не могу довести до ума :( собственно вот задача: Объект – музыкальный альбом. Включает в себя список музыкальных композиций. Действия – Определение свойств класса Нахождение ответа на вопрос «сколько различных исполнителей входит в музыкальный альбом» Методы для класса-контейнера – Возврат объекта – альбом, состоящий из песен одного исполнителя...
C++ Вывести три числа, представляющие следующую дату. Помогите решить задачи. Я вас очень прошу. Без всяких ошибок и неточностей. Пожалуйста поскорей вышлите решения. Ваша помощь мне очень важна. 1.Given three natural numbers a, b, c which represent the day, month and year of some date. For example: 1, 4, 1991 represents 1st April 1991. Output three numbers which represent the following date. Example: Input: 1 4 1991 Output 2 4 1991... подробнее

Показать сообщение отдельно
sandye51
программист С++
681 / 583 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
24.09.2011, 13:18     Ошибка в решении СЛАУ методом Гаусса
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
#include <iostream>
#include <cstdlib>
#include <ctime>
 
// printing a matrix;
void print_extended_matrix(double ** matrix, double * b, unsigned int size)
{
    for (unsigned int i = 0u; i < size; ++i)
    {
    for (unsigned int j = 0u; j < size; ++j)
        std::cout << matrix[i][j] << " ";
 
    std::cout << " = " << b[i] << std::endl;
    }
}
 
int main()
{
    // Entering the data;
    unsigned int size;
 
    std::cout << "Enter the size of the matrix" << std::endl;
    std::cin >> size;
 
    double ** A = new double*[size];
    double * b = new double[size];
 
    std::cout << "Enter the matrix A" << std::endl;
    for (unsigned int i = 0u; i < size; ++i)
    {
    A[i] = new double[size];
    for (unsigned int j = 0u; j < size; ++j)
        std::cin >> A[i][j];
    }
 
    std::cout << "Enter the rigth vector B" << std::endl;
    for (unsigned int i = 0u; i < size; ++i)
    std::cin >> b[i];
 
    print_extended_matrix(A, b, size);
 
    // Gausse method - calculating the vector X, where A * X = B;
    for (unsigned int i = 0u; i < size; ++i)
    {
    // norming the current row, which will be subtracted from others;
    double value = A[i][i];
    for (unsigned int j = 0u; j < size; ++j)
        A[i][j] /= value;
    b[i] /= value;
 
    // the Gausse iteration;
    for (unsigned int j = 0u; j < i; ++j)
    {
        value = A[j][i];
        for (unsigned int k = i; k < size; ++k)
        A[j][k] -= A[i][k] * value;
 
        b[j] -= b[i] * value;
    }
 
    for (unsigned int j = i + 1; j < size; ++j)
    {
        value = A[j][i];
        for (unsigned int k = i; k < size; ++k)
        A[j][k] -= A[i][k] * value;
 
        b[j] -= b[i] * value;
    }
    }
 
    std::cout << "Vector X: " << std::endl;
    for (unsigned int i = 0u; i < size; ++i)
    {
    std::cout << b[i] << " ";
    delete[]A[i];
    }
 
    delete[]A;
    delete[]b;
 
    return EXIT_SUCCESS;
}
только без проверок деления на 0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru