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

Проблемы с классами при поиске обратной матрицы - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ 'лементарная графика в dev cpp http://www.cyberforum.ru/cpp-beginners/thread835437.html
Подскажите как поменять цвет(заливку, а не контур(линию)) квадрата (вписанного в окружность-вдруг это важно)с использованием graphics.h (среда- dev cpp)?
C++ Изменение части текста Здравствуйте, кто-нибудь знает с помощью какого инструмента в Windows Form Application (Label, TextBox и т.д.) можно обеспечить изменение цвета, или какое либо другое форматирование только части текста (одного символа, или слова). и как это можно сделать.. Заранее спасибо!) http://www.cyberforum.ru/cpp-beginners/thread835423.html
C++ Ошибка после закрытия формы
Как можно избавиться от этой ошибки?
C++ Раннее и позднее связывание
Вот компилятор статическую функцию как бы компилирует ранним связыванием, а динамическую - поздним. Во многих учебниках говорят, что если есть функция раннего связывания, то её адрес в памяти известен на этапе компиляции. Я чё то не могу понять, как может быть известен адрес функции на этапе компиляции. Нет, конечно понятно, что Ahead компиляторы сразу преобразуют исходный код в машинный код...
C++ м. Симпсона. Не выводит на экран значение интеграла http://www.cyberforum.ru/cpp-beginners/thread835391.html
Здравствуйте! подскажите пожалуйста, почему у меня не выводит значение "I1" на экран. ввожу а и б, дальше кол-во разбиений, после точность.. и все встает( __________________ #include <iostream> #include <math.h> using namespace std;
C++ Не видна дробная часть числа Поставил MVS 2012, возникла проблема - Не видна дробная часть числа! Пишу простой код : double a; a = 2/3; std::cout<<a; выводит 0 =-O подробнее

Показать сообщение отдельно
sl_k
12 / 12 / 0
Регистрация: 15.04.2010
Сообщений: 61
12.04.2013, 19:00     Проблемы с классами при поиске обратной матрицы
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
106
#include<iostream>
#include<cmath>
using namespace std;
 
#define R 3
 
class CMatrix{
double mas[R][R], E[R][R];
double kst, temp;
int n, p, t;
public:
        CMatrix(int);
        int Opr();
        void Inversion();
};
 
CMatrix::CMatrix(int N){
        n=N;
 
        cout<<"Ishodnaya matriza: "<<endl;
        mas[0][0] = 2; mas[0][1] = 1; mas[0][2] = -1;
         mas[1][0] = 5; mas[1][1] = 2; mas[1][2] = 4;
          mas[2][0] = 7; mas[2][1] = 3; mas[2][2] = 2;
        
        
        for (int i=0; i<n; i++){
           for (int j=0; j<n; j++){
 
                cout<<mas[i][j]<< " ";
           }
 
       
        cout<<endl;
        }
}
 
int CMatrix::Opr(){
        p=0;
    for (int i=0; i<n-1; i++){
        t=1;
        while(mas[i][i]==0){
            for(int j=0; j<n; j++){
                mas[i][j]=kst;
                mas[i][j]=mas[i+t][j];
                mas[i+t][j]=kst;
            }
            p++;
            t++;
        }
        for (int k=i+1; k<n; k++){
            kst=mas[k][i]/mas[i][i];
            for(int j=0; j<n; j++)
                mas[k][j]-=mas[i][j]*kst;
        }
    }
    kst=pow(-1.0, p);
    for(int i=0; i<n; i++)
        kst*=mas[i][i];
    cout<<"Opredelitel': "<<kst;
        if (kst) return 1;
        else return 0;
}
 
void CMatrix::Inversion(){
        for (int i=0; i<n; i++)
                for (int j=0; j<n; j++){
                        if (i==j) E[i][j]=1.0;
                        else E[i][j]=0.0;
                }
        for (int k=0; k<n; k++){
                temp=mas[k][k];
                for (int j=0; j<n; j++){
                        mas[k][j]/=temp;
                        E[k][j]/=temp;
                }
                for (int i=k+1; i<n; i++){
                        temp=mas[i][k];
                        for (int j=0; j<n; j++){
                                mas[i][j]-=mas[k][j]*temp;
                                E[i][j]-=E[k][j]*temp;
                        }
                }
        }
        for (int k=n-1; k>0; k--){
                for (int i=k-1; i>=0; i--){
                        temp=mas[i][k];
                        for (int j=0; j<n; j++){
                                mas[i][j]-=mas[k][j]*temp;
                                E[i][j]-=E[k][j]*temp;
                        }
                }
        }
        cout<<endl<<"Obratnaya matriza:\n";
        for (int i=0; i<n; i++){
                for (int j=0; j<n; j++)
                        cout<<E[i][j]<<"\t";
                cout<<endl;
        }
}
 
 
int main(){
   CMatrix matrix(3);
   matrix.Inversion();
   return 0;
}

и этот код работает. Проверил тут в примере 2.11 http://www.mathelp.spb.ru/book1/omatrix.htm
 
Текущее время: 02:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru