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

Реализовать класс "Матрица" - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ввести строку, из нее удалить всё, кроме нечетных чисел. Отсортировать оставшиеся числа по убыванию http://www.cyberforum.ru/cpp-beginners/thread1164071.html
Суть такова: пользователь вводит строку, из нее удаляется всё, кроме нечетных чисел. Далее они сортируются по убыванию. Подскажите как сделать. Сортировку пузырьком думаю сам напишу, а вот первое...
C++ Среднее геометрическое элементов бинарного дерева Условие задачи для создания программы: "Создать класс TreeDouble, для работы с элементами бинарного дерева вещественных чисел. В этом классе должны быть определены функции-члены класса, обеспечивающие: заполнение дерева, добавление элементов дерева, удаление элемента дерева. Дополнительно перезагрузить в этом классе операторные функции, которые обеспечивают ввод/вывод элементов класса (в том... http://www.cyberforum.ru/cpp-beginners/thread1164047.html
Вывод русских букв в консоли C++
Всем добрый день. Никак не удаётся решить проблему с нормальным выводом русских букв в консоли. Буквы отображаются через всякие другие символы. Помогите с её устранением, если не сложно.
Разъясните ошибки при считывании файла C++
не пойму что от меня требуется тут) пол года изучаем язык) часть ошибок исправил но при считывании с файла лепит нарушение прав доступа #include < Windows.h > #include < stdio.h > #include < clocale > #include < conio.h >
C++ Ошибка при работе с шаблонами в многофайловом проекте http://www.cyberforum.ru/cpp-beginners/thread1164025.html
Цель проста - пишу класс очереди, используя шаблоны. Возниает следующая ошибка: ||=== Build: Debug in Queue (compiler: GNU GCC Compiler) ===| obj\Debug\main.o||In function `main':| main.cpp|10|undefined reference to `Queue<int>::Queue(int)'| main.cpp|12|undefined reference to `Queue<int>::add(int)'| main.cpp|14|undefined reference to `Queue<int>::extract()'| ||=== Build failed: 3 error(s),...
C++ Ошибка при запуске пустого проекта При запуске пустого проекта выдает ошибку. подробнее

Показать сообщение отдельно
cooller
565 / 533 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
02.05.2014, 15:34     Реализовать класс "Матрица"
IgorSer, вот вам мой хидер
давно, писал, года 3-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
#pragma once
 
#ifndef MATRIX_D_H
#define MATRIX_D_H
 
namespace MATRIX_class
{
 
 
class MATRIX_d
{
private:
    double **a;    //Двумерный массив
    int n,m;        //Размеры матрицы
    int nRO;
 
 
public:
    MATRIX_d();                                   //Конструктор по умолчанию
    MATRIX_d(int _n, int _m);                     //Конструктор, задает размер матрицы
    MATRIX_d(const MATRIX_d& M);                  //Конструктор копирования
    int GetN()
    {
        return n;    //Возвращает кол-во строк
    }
    int GetM()
    {
        return m;    //Возвращает кол-во столбцов
    }
    int GetNRO()
    {
        return nRO;
    }
 
    void SetSize(int,int,int k=0);              //Изменение размера матрицы, новые элементы заполняет цифрой k (по умолчанию k=0)
    void SetN(int, int k=0);                    //Установить количество строк
    void SetM(int, int k=0);                    //Установить количество столбцов
    void SetNRO(int n)
    {
        nRO=n;
    }
    void SetAll(double k=0);                    //Заполнить матрицу числом k (по умолчанию k=0)
    void SetRandom(int);                        //Заполнить случайными числами от 0 до A. Если А отрицательное то от А до 0
    void SetRandom(int,int);                    //Заполнить случайными числами из диапазона [a,b];
 
    void TranspMatr();                          //Транспонирует данный объект
    friend MATRIX_d TranspMatr(const MATRIX_d&);//Трансонирует переданную матрицу (дружественная функция)
    MATRIX_d Minor(int i,int j,int k=0);        //Возвращает минор по i,j. k задает нумерацию, с 0 или 1!
    double Det();                               //Определение детермината
    double A(int,int);                          //Возвращает алгебраическое дополнение A(i,j)
    MATRIX_d UnionMATRIX_d();                   //Возвращает союзную матрицу
    MATRIX_d Obrat();                           //Возвращает обратную матрицу
 
    void PrintToFile(char*);                    //Вывод матрицы в файл
    void ReadOfFile(char*);                     //Чтение матрицы из файла
 
    MATRIX_d operator+(const MATRIX_d&) const;      //Перегруженный оператор "+". Сумма двух матриц
    MATRIX_d operator-(const MATRIX_d&) const;      //Перегруженный оператор "-". Вычитание двух матриц
    MATRIX_d operator*(const double);               //Перегруженный оператор "*". Умножение матрицы на число
    MATRIX_d operator*(const MATRIX_d&);            //Перегруженный оператор "*". Умножение матрицы на матрицу
    MATRIX_d operator/(const double) const;         //Перегруженный оператор "/". Делит элементы матрицы на число
    MATRIX_d& operator+=(const MATRIX_d&);          //Перегруженный оператор "+=". Сумма двух матриц
    MATRIX_d& operator-=(const MATRIX_d&);          //Перегруженный оператор "-=". Вычитает из первой марицы вторую
    MATRIX_d& operator*=(const double);             //Перегруженный оператор "*=". Умножение матрицы на число
    MATRIX_d& operator*=(const MATRIX_d& ma);       //Перегруженный оператор "*". Умножение матрицы на матрицу
    MATRIX_d& operator/=(const double);             //Перегруженный оператор "/=". Делит элементы матрицы на число
    MATRIX_d operator++(int);                       //Перегруженный оператор "++". ПОСТФИКСНЫЙ
    MATRIX_d& operator++();                         //Перегруженный оператор "++". Префиксный
    MATRIX_d operator--(int);                       //Перегруженный оператор "--". ПОСТФИКСНЫЙ
    MATRIX_d& operator--();                         //Перегруженный оператор "--". Префксный
    MATRIX_d& operator=(const MATRIX_d&);           //Перегруженный оператор присваивания
 
    friend istream& operator>>(istream&, MATRIX_d&);  //Ввод с клавиатуры
    friend ostream& operator<<(ostream&, MATRIX_d);   //Вывод на экран
    double* operator[](int i)   //Обеспечиавает доступ в виде A[i][j]. проверки диапазона нет.
    {
        return a[i];
    }
    double &operator()(int i,int j);               // перегруженнй оператор "()". Обеспечивает доступ к элеменатам матрицы
    ~MATRIX_d();                                    //Деструктор
};
 
}
#endif
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru