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

Составить описание класса для определения квадратных матриц целых чисел - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Документация по OpenCV http://www.cyberforum.ru/cpp-beginners/thread721537.html
Существует ли хорошая документация на русском языке по OpenCV ?
C++ Заполнить контейнер map и vector данными из файла Текстовый файл содержит в себе информацию о пяти лифтах в виде: 12 900 first 10 600 second 15 700 third 20 1000 fourth 16 800 fifth первое число-максимальный этаж, второе - максимальный вес, а слово - это название лифта. Нужно считать эти данные , пользуясь библиотекой <fstream>,в контейнеры map и vector. Контейнер vector должен быть внутри map, т.е. ключ это название лифта, а... http://www.cyberforum.ru/cpp-beginners/thread721536.html
из 16 в 10 (системы счисления) C++
Как на C++ перевести шестнадцетиричное число в десятичное?? Обе переменные int типа!!!!
редагование файла C++
В тхт файле есть данные по студентах: ФИО, телефон, возвраст. Каждая строка новый студент. Нужно спросить у пользователя какую строчку нужно отредактировать - вывести ее на экран - отредактировать и переписать файл с новым значением определенной строки. Как такое реализовать?)
C++ обратная польская запись http://www.cyberforum.ru/cpp-beginners/thread721514.html
Требуется написать программу получения из обычной записи обратную польскую запись. Например: входные данные: 12*(3+5) выход: 12 3 5 + * Добавлено через 59 секунд помогите пожалуйста
C++ Сформировать произвольную матрицу Здравствуйте ув. участники форума. Помогите пожалуйста. Даны натуральные числа n, M (n<M). Cформировать произвольную матрицу размерностью n*M. Найти наибольший и наименьший элемент заштрихованной области. подробнее

Показать сообщение отдельно
Oksana fiz
0 / 0 / 0
Регистрация: 06.12.2012
Сообщений: 4
07.12.2012, 11:50  [ТС]     Составить описание класса для определения квадратных матриц целых чисел
Пыталась модифицировать Вашу программу для моего случая. Ошибок, конечно, много. Посмотрите пожалуйста, что я удалила лишнее. И я не понимаю какую роль играют конструкторы по умолчанию, констр. с параметрами, констр. копии, деструкторы и нужны ли они мне. А после "int main()" вводятся параметра конкретного случая? И нужны ли мне 9-12 строки?
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
152
#include <iostream>
#include <cstdlib> 
#include <ctime> 
#include <iomanip>
 
class QMatrix 
{ 
private: 
    int N; 
    int M; 
    double** matrix; 
public:  
    QMatrix(); // ГЄГ®Г*ñòðóêòîð ГЇГ® óìîë÷Г*Г*ГЁГѕ
    QMatrix(int n):Matrix(n,n) // ГЄГ®Г*ñòðóêòîð Г± ГЇГ*Г°Г*ìåòðГ*ìè
    QMatrix(const Matrix& ob) // ГЄГ®Г*ñòðóêòîð êîïèè
    ~QMatrix() // äåñòðóêòîð 
    void Enter() 
    void Show() 
    QMatrix operator + (const Matrix&) 
    QMatrix operator = (const Matrix&) 
    QMatrix operator - (const Matrix& ) 
    QMatrix operator * (const Matrix& )  
}  
  
QMatrix::QMatrix() // ðåГ*ëèçГ*öèÿ ГЄГ®Г*ñòðóêòîðГ* ГЇГ® óìîë÷Г*Г*ГЁГѕ
{ 
      N = 0; M = 0; 
        matrix = new double*[N]; 
        for ( int i = 0; i < N; ++i) 
            matrix[i] = new double[M]; 
} 
 
QMatrix:: QMatrix(int n1) // ðåГ*ëèçГ*öèÿ ГЄГ®Г*ñòðóêòîðГ* Г± ГЇГ*Г°Г*ìåòðГ*ìè
{
    N = n1;
    M = n1; 
    a=new double* [M];
    for (int i=0;i<M;i++)
        a[i] = new double [N];
    for (int i=0;i<M;i++)
        for (int j=0;j<N;j++)
            a[i][j]=0.0;    
                    
} 
 
QMatrix::QMatrix (const Matrix &ob) // ðåГ*ëèçГ*öèÿ ГЄГ®Г*ñòðóêòîðГ* êîïèè
{   
    N = ob.N; 
    M = ob.M;
    matrix = new double*[N]; 
    for ( int i = 0; i < N; ++i) 
        matrix[i] = new double[M];  
 
    for ( int i = 0; i < N; ++i) 
        for ( int j = 0; j < M; ++j) 
            matrix[i][j] = ob.matrix[i][j];
 
}  
 
QMatrix::~QMatrix() // äåñòðóêòîð
{  
    for ( int i = 0; i < N; ++i) 
        delete[] matrix[i]; 
    delete[] matrix;
}
 
void QMatrix::Enter() // ââîä Г¬Г*òðèö
{   
    int i, j;
    for ( i = 0; i < N; ++i) 
        for ( j = 0; j < M; ++j) 
            matrix[i][j] = 0.01 * (rand() % 1001);
 
} 
 
void Matrix::Show() // âûâîä Г¬Г*òðèöû
{ 
    int i, j; 
 
    for ( i = 0; i < N; ++i) 
        for ( j = 0; j < M; ++j) 
        { 
            if( j % M == 0) 
                std::cout << std::endl; 
            std::cout << std::setw(10) << matrix[i][j]; 
        } 
        std::cout << std::endl;
} 
 
QMatrix QMatrix :: operator + ( const Matrix& ob) // ñóììГ* Г¬Г*òðèö
{  
    QMatrix temp;                        // ðåГ*ëèçîâГ*Г*Г® Г± ïîìîùüþ âðåìåГ*Г*îãî îáúåêòГ*
    temp.N = this->N; 
    temp.M = this->M; 
    int i, j;
    temp.matrix = new double*[temp.N]; 
    for ( i = 0; i < temp.N; ++i) 
        temp.matrix[i] = new double[temp.M]; 
 
    for ( i = 0; i < temp.N; ++i) 
        for ( j = 0; j < temp.M; ++j) 
            temp.matrix[i][j] = this->matrix[i][j] + ob.matrix[i][j]; 
    return temp;
 
} 
  
QMatrix QMatrix::operator - (const Matrix& ob) // Г°Г*Г§Г*îñòü Г¬Г*òðèö
{ 
    int i, j; 
    for ( i = 0; i < this->N; ++i) 
        for ( j = 0; j < this->M; ++j) 
            this->matrix[i][j] = this->matrix[i][j] - ob.matrix[i][j]; 
    return *this;
} 
 
QMatrix QMatrix::operator * (const Matrix& ob) // ГіГ¬Г*îæåГ*ГЁГҐ Г¬Г*òðèö
{   
 
    
    QMatrix temp; 
    temp.N = this->N; 
    temp.M = this->M; 
    int i, j, k;
    temp.matrix = new double*[temp.N]; 
    for ( i = 0; i < temp.N; ++i) 
        temp.matrix[i] = new double[temp.M];
 
    for ( i = 0; i < temp.N; ++i) 
        for ( j = 0; j < temp.M; ++j) 
        {   
            temp.matrix[i][j] = 0;
            for ( k = 0; k < temp.M; ++k)     
               temp.matrix[i][j] = temp.matrix[i][j] + (this->matrix[i][k] * ob.matrix[k][j]); 
        }
    return temp; 
}
 
 
int main() 
{   
    srand((unsigned) time(0));
    QMatrix m1(3, 3); 
    m1.Enter(); 
    m1.Show(); 
    QMatrix m2(3, 3); 
    m2.Enter();
    m2.Show();
    QMatrix m3(3,3); 
    m3 = m1 * m2;
    m3.Show();
    
}
 
Текущее время: 08:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru