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

Как через push_back заполнить вектор векторов? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ функции http://www.cyberforum.ru/cpp-beginners/thread100913.html
Я никак не могу написать программу с помощью функции . #include <stdio.h> #include <stdlib.h> #include <string.h> #include <ctype.h> #define NAME "111.txt"
C++ Документация g++ Недавно начал изучать С++, и хочу научиться искать необходимую документацию, опыта в поиске доки не имел, и хочу попросить совет как мне найти доку например для new(компилятор g++) - собственно нужно узнать он генерирует исключительную ситуацию или возвращает нулевой указатель. Искал тут - http://gcc.gnu.org/onlinedocs/gcc-4.4.3/cpp.pdf но ничего не нашел Прошу не винить за глупый вопрос,... http://www.cyberforum.ru/cpp-beginners/thread100896.html
При работе с потоком данных SDI вылетает ошибка C++
//надо написать лабу по работе с файлми в MFC через SDI //в h файле описал структру typedef struct { CString country; CString comand; CString fio; int numder; int age; int height; int weight;
вывод инфы C++
Необходимо вывести студентов у которых оценка меньше 4? Что я делаю не так? #include "stdafx.h" #include <stdio.h> #include <conio.h> #include <malloc.h> #include <stdlib.h> int b; struct my{ char fio;
C++ Манипуляторы и флаги формата http://www.cyberforum.ru/cpp-beginners/thread100883.html
1.Манипулятор right почемуто не производит вывод по правой стороне. В чем проблема? рис. 1 2.Манипулятор skipws должен отбрасывать текущие пробелы при вводе но система ввода и вывода почемуто прекращает ввод при получении пробельного символа хотя они должны были отбросится. В чем проблема? рис. 1 3.Чем отличаются skipws от ws? 4.Что дает очищение потока манипулятором flush? Я думал он...
C++ Найти сумму ряда Помогите написать программку :yes: Дано натуральное число n. Вычислить сумму всех k(k+1)...k^2, k меняется от 1 до n. Если не сложно с комментариями. Заранее спасибо!! :) подробнее

Показать сообщение отдельно
Chardash
1 / 1 / 2
Регистрация: 20.12.2013
Сообщений: 27
12.12.2015, 21:26     Как через push_back заполнить вектор векторов?
Здравствуйте, посетители ресурса! Может быть у кого-то найдется время помочь разобраться в коде?
C++ (Qt)
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
typedef vector<vector<double>>Elements;//вектор векторов
class Matrix
{
    Elements M;
    int R, C;//строки столбцы
public:
    //по умолчанию незадаваемые эл-ты равны нулю
    Matrix(int r, int c);//пр¤моуг матрица
    Matrix(int n);//квадр м-ца
    Matrix(int n, double d);
    ~Matrix() {};
    int GetR();
    int GetC();
    void rand(int mod);//зап случ знач по модулю mod
 
    Matrix inverse();//обрат
 
    
    vector<double> & operator[](int r);//доступ к элементу
 
    friend ostream & operator<< (ostream &os, Matrix &A); //вывод м-цы
 
};
 
 
Matrix Matrix::inverse()
{
    Matrix Ones(R, 1.0);
    Matrix A = *this;
    for (int i = 0; i < R; i++) //по всем строкам
    {
        int maxi = i;
        for (int s = i + 1; s < R; s++)
            maxi = abs(A[maxi][i]) < abs(A[s][i]) ? s : maxi; //Если maxi = abs(A[maxi][i]) < abs(A[s][i]) истинно, результатом операции будет s, в противном случае maxi
        swap(A[i], A[maxi]); 
        swap(Ones[i], Ones[maxi]);
        if (abs(A[i][i]) < eps)
            throw string("Matrix is not invertable");
 
        double buf = A[i][i];
        for (int ii = 0; ii < R; ii++)//то по всей строке
        {
            A[i][ii] /= buf;//делаем 1
            Ones[i][ii] /= buf;
        }
        for (int j = 0; j < R; j++)
        {
            if (i == j) continue;
            double buf = A[j][i];
            for (int jk = 0; jk < R; jk++)//то по всей строке
            {
                A[j][jk] -= A[i][jk] * buf;//вычитаем строку
                Ones[j][jk] -= Ones[i][jk] * buf;
            }
        }
    }
    return Ones;
}
Выше привел функцию, могу вывесить весь код. Комментарии частично мои, возможно неверные, в общем, не могу разобраться с вектором-векторов. Данная функция считает обратную матрицу. Не понятен сам алгоритм, где вычисляются миноры, определитель, транспонированная матрица? Буду очень благодарен за помощь.

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