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

Найти обратную матрицу и умножить ее на вектор - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Реализовать транслитерацию строки http://www.cyberforum.ru/cpp-beginners/thread188157.html
задача№1 Дан текст в строке.Сделать транслитерацию єтой строки. задача №2 дан текст строки. Если в строке больше одного знака арифметической операции, то уменьшить последовательность до одного.(...
C++ Ошибка в программе условие:Даны целые положительные числа N и K. Найти сумму 1K + 2K + … + NK. Чтобы избежать целочисленного переполнения, вычислять слагаемые этой суммы с помощью вещественной переменной и выводить... http://www.cyberforum.ru/cpp-beginners/thread188154.html
Пожалуйста, подскажите свободный IDE с поддержкой DOS-кодировок... C++
Здравствуйте, уважаемые... С++ я знаю ненамного лучше, чем никак... Изредка пописываю элементарнейшие консольные программки под собственные нужды. Пописываю под Линуксом, но, порой, возникает...
C++ Удаление повторяющихся чисел из массива
допустим есть массив a={1,1,1,1,54,84,63,554,54,85,32,84,1,2,6,85} нужно в массиве оставить все числа по одному экземпляру: a={1,54,84,63,554,85,32,2,6}
C++ Можете помочь объясните пожалуйста выделенный жирым шрифтом кусок кода..... http://www.cyberforum.ru/cpp-beginners/thread188126.html
Не жирным.....жирным не выделяется:) а с 49 по 59-ый??? Очень нужно.... #include <fstream> #include <stack> #include <sstream> #include<iostream> #include"car.h"
C++ строки файлы с С++ Добрый вечер уважаемые мастера С++. Помогите пожалуйста с написанием программки по С++. Программа должна считывать текст с первого файл(несколько строк) подсчитывать количество слов что заканчиваются... подробнее

Показать сообщение отдельно
Sabijan
0 / 0 / 0
Регистрация: 21.02.2013
Сообщений: 7
23.02.2014, 16:59
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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
// ìåòîäîì ГЈГ*ГіГ±Г±Г* - æîðäГ*Г*Г* 
#include <windows.h>
#include <fstream.h>
#include <iostream.h>
#include <math.h>
#include <iostream>
#include <cmath>
#include <algorithm>
#include <vector>
#include <map>
#include <stack>
#include <deque>
#include <set>
#include <string>
#include <limits>
#include <fstream>
 
 
 
float inversion(float **mass, int n) // ñîçäГ*ГҐГ¬ ГґГіГ*êöèþ
{
 
 
 
//float a[n];
// ðåçåðâèðóåì ГЇГ*ìÿòü äëÿ äèГ*Г*ìè÷åñêèé Г¬Г*Г±Г±ГЁГў ГґГіГ*êöèè
    float **mass2 = new float *[n]; 
    for (int i=0; i<n; i++)
    mass2[i]=new float [n];
 
 
 
 
    for (int i = 0; i < n; i++)
    {
        mass2[i][i] = 1;
    }  
    for (int i = 0; i < n; i++){
        int row = i;
        float mx = mass[i][i];
        for(int k = i + 1; k < n; k++){
            if (fabs(mass[k][i]) > mx){
                row = k;
                mx = fabs(mass[k][i]);
            }
        }
        for(int i=0; i<n; i++)
        {
        for (int j=0; j<n; j++)
        {
        if (row != i) {
           mass[row][j]= mass[i][j];
            mass2[row][j]= mass2[i][j];
            }
        }
        }
        for (int j = i+1; j < n; j++){
            float e = mass[j][i]/mass[i][i];
            for (int k = 0; k < n; k++){
                mass[j][k] -= e*mass[i][k];
                mass2[j][k] -= e*mass2[i][k];
            }
        }
    }
    for (int i = n - 1; i >= 0; i--) {
        for (int j = i - 1; j >= 0; j--){
            float e = mass[j][i]/mass[i][i];
            for (int k = 0; k < n; k++){
                mass[j][k] -= e*mass[i][k];
                mass2[j][k] -= e*mass2[i][k];
            }
        }
        for (int j = 0; j < n; j++) {
            mass2[i][j] /= mass[i][i];
        }
        
 
    }
               for (int i=0; i<n; i++)
           for (int j=0; j<n; j++)
// ??????????????? ???????, mass2 -???????? ??????? ?????????? ?? ? ???????? ???????
           mass[i][j] = mass2[i][j];   
//    Г®Г·ГЁГ№Г*ГҐГ¬ ГЇГ*ìÿòü Г¬Г*Г±Г±ГЁГўГ* ГґГіГ*êöèè mass2
           for (int i=0; i<n; i++)
           delete [] mass2[i];
           delete [] mass2;
           
    
}
 
 
 
int main()
{
// Г±ГІГ*Г*Г¤Г*ðòГ*ûé ââîä
    int n;
    //cout<<"\n enter n"<<endl;
    //cin>>n;
  
    float **matrix=new float *[n];
    for (int i=0; i<n; i++)
    matrix[i] = new float [n];
    char *str = new char [1024];
    int i=0;
    ifstream base("matrix.txt");
    while (!base.eof())
    {
        base.getline(str, 1024, '\n');
        i++;
    }
    base.close();
    delete str;
    n=pow(i,0.5);
    ifstream fin("matrix.txt");
    for (int i=0; i<n; i++)
    for (int j=0; j<n; j++)
    {
        fin>>matrix[i][j];
    }
    fin.close();
    for (int i=0; i<n; i++)
    {
    for(int j=0; j<n; j++)
    {
            cout<<matrix[i][j];
            }
            cout<<endl;
            }
// âûçûâГ*ГҐГ¬ ГґГіГ*êöèþ
    inversion(matrix, n);
// âûâîäèì îáðГ*ГІГ*ГіГѕ Г¬Г*òðèöó
    for (int i=0; i<n; i++)
    {
    for (int j=0; j<n; j++)
    cout<<matrix[i][j]<<" ";
    cout<<endl;
    }
    ofstream fout("out.txt");
    for (int i=0; i<n; i++)
    {
    for (int j=0; j<n; j++)
        fout<<matrix[i][j]<<"   ";
        fout<<endl;
    }
    fout.close();
    for (int i=0; i<n; i++)
    delete [] matrix[i];
    delete [] matrix;
    system("pause");
    return 0;
}
прошу помочь с кодом(выдернул из этой же темы). сроки сдачи на завтра. ломается на нулях, если я введу матрицу. можно ли исправить код, не особенно мудря?
0 0 2
0 5 4
6 5 6
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru