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

с++ класс матрица - C++

Восстановить пароль Регистрация
 
Demo0n
1 / 1 / 0
Регистрация: 28.10.2012
Сообщений: 86
01.12.2012, 15:16     с++ класс матрица #1
Вот из этого как то надо сделать наследование и полиморфизм, питался делать наследование не выходило по тому что писало что ":" не объявленный итендификатор
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
#include <iostream>
#include <math.h>
using namespace std;
class matrix
    {   
        private:
        int *p_m;
        int n;
        public:
        matrix (int count_n);
        matrix (const matrix& m);
        matrix operator+(const matrix my);
        matrix operator-(const matrix my);
        matrix operator*(const matrix my);
        void   operator=(const matrix my);
        void   In_put();
        void   Out_put();
        ~matrix();
    };
 
 
matrix  matrix::operator*(const matrix my)
{
    int my_n=(n*n-n)/2+n;
    matrix m_ret(n);
    for(int i=0;i<my_n;i++)
    m_ret.p_m[i]=p_m[i]*my.p_m[i];
    return m_ret;   
};
 
matrix  matrix::operator+(const matrix my)
{
    int my_n=(n*n-n)/2+n;
    matrix m_ret(n);
    for(int i=0;i<my_n;i++)
    m_ret.p_m[i]=p_m[i]+my.p_m[i];
    return m_ret;
};
 
matrix  matrix::operator-(const matrix my)
{
int my_n=(n*n-n)/2+n;
matrix m_ret(n);
for(int i=0;i<my_n;i++)
m_ret.p_m[i]=p_m[i]-my.p_m[i];
return m_ret;
};
 
 
void matrix::operator=(const matrix my)
{
int my_n=(n*n-n)/2+n;
for(int i=0;i<my_n;i++)
p_m[i]=my.p_m[i];
};
 
matrix::matrix(int count_n)
{
n=count_n*count_n;
 
p_m=new int [n];
for(int i=0;i<n;i++)
p_m[i]=0;
};
 
matrix::matrix (const matrix& m) {
n=m.n;
int my_n=(n*n-n)/2+n;
p_m=new int [my_n];
for(int i=0;i<my_n;i++)
p_m[i]=m.p_m[i];
};
 
matrix::~matrix()
{
delete p_m;
};
 
void matrix::Out_put()
{
int y=0, out_ch=0;
for(int i=0;i<pow(n,0.5);i++)
{
for(int j=0;j<pow(n,0.5);j++)
{
cout.width(4);
cout << p_m[out_ch];
out_ch++;
}
cout << "\n";
y++;
    }
};
 
void matrix::In_put()
{
int y=0, in_ch=0;
for(int i=0;i<pow(n,0.5);i++)
    {
    for(int j=0;j<pow(n,0.5);j++)
        {
cout << "[" << i << "," << j << "]: ";
cin >> p_m[in_ch];
in_ch++;
        }
y++;
    }
};
 
 
int main()
{
int size;
cout << "Matrix [Size]: ";
cin >> size;
matrix m1(size), m2(size), m(size);
cout << "\nMatrix 1: \n";
m1.In_put();
cout<<endl;
m1.Out_put();
cout << "\nMatrix 2: \n";
m2.In_put();
cout<<endl;
m2.Out_put();
m=m1+m2;
cout << "\n Matrix 1 + Matrix 2 : \n";
m.Out_put();
cout << "\n";
 
m=m1-m2;
cout << "\n Matrix 1 - Matrix 2 : \n";
m.Out_put();
cout << "\n";
m=m1*m2;
cout << "\n Matrix 1 * Matrix 2 :\n";
m.Out_put();
cout << "\n";
 
 
system("pause");
};
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.12.2012, 15:16     с++ класс матрица
Посмотрите здесь:

C++ класс матрица
C++ Класс Матрица
Класс Матрица C++
Класс матрица C++
Класс матрица C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
BumerangSP
 Аватар для BumerangSP
4283 / 1405 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
01.12.2012, 15:18     с++ класс матрица #2
Тут сразу 2 программы в одном коде, может просто нужен конкретный пример чего? Раз уж Вы пытались.
И желательно бы выкладывать и выделять то, что пытались)
Demo0n
1 / 1 / 0
Регистрация: 28.10.2012
Сообщений: 86
01.12.2012, 15:20  [ТС]     с++ класс матрица #3
Цитата Сообщение от Demo0n Посмотреть сообщение
Вот из этого как то надо сделать наследование и полиморфизм, питался делать наследование не выходило по тому что писало что ":" не объявленный итендификатор
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
#include <iostream>
#include <math.h>
using namespace std;
class matrix
    {   
        private:
        int *p_m;
        int n;
        public:
        matrix (int count_n);
        matrix (const matrix& m);
        matrix operator+(const matrix my);
        matrix operator-(const matrix my);
        matrix operator*(const matrix my);
        void   operator=(const matrix my);
        void   In_put();
        void   Out_put();
        ~matrix();
    };
 
 
matrix  matrix::operator*(const matrix my)
{
    int my_n=(n*n-n)/2+n;
    matrix m_ret(n);
    for(int i=0;i<my_n;i++)
    m_ret.p_m[i]=p_m[i]*my.p_m[i];
    return m_ret;   
};
 
matrix  matrix::operator+(const matrix my)
{
    int my_n=(n*n-n)/2+n;
    matrix m_ret(n);
    for(int i=0;i<my_n;i++)
    m_ret.p_m[i]=p_m[i]+my.p_m[i];
    return m_ret;
};
 
matrix  matrix::operator-(const matrix my)
{
int my_n=(n*n-n)/2+n;
matrix m_ret(n);
for(int i=0;i<my_n;i++)
m_ret.p_m[i]=p_m[i]-my.p_m[i];
return m_ret;
};
 
 
void matrix::operator=(const matrix my)
{
int my_n=(n*n-n)/2+n;
for(int i=0;i<my_n;i++)
p_m[i]=my.p_m[i];
};
 
matrix::matrix(int count_n)
{
n=count_n*count_n;
 
p_m=new int [n];
for(int i=0;i<n;i++)
p_m[i]=0;
};
 
matrix::matrix (const matrix& m) {
n=m.n;
int my_n=(n*n-n)/2+n;
p_m=new int [my_n];
for(int i=0;i<my_n;i++)
p_m[i]=m.p_m[i];
};
 
matrix::~matrix()
{
delete p_m;
};
 
void matrix::Out_put()
{
int y=0, out_ch=0;
for(int i=0;i<pow(n,0.5);i++)
{
for(int j=0;j<pow(n,0.5);j++)
{
cout.width(4);
cout << p_m[out_ch];
out_ch++;
}
cout << "\n";
y++;
    }
};
 
void matrix::In_put()
{
int y=0, in_ch=0;
for(int i=0;i<pow(n,0.5);i++)
    {
    for(int j=0;j<pow(n,0.5);j++)
        {
cout << "[" << i << "," << j << "]: ";
cin >> p_m[in_ch];
in_ch++;
        }
y++;
    }
};
 
 
int main()
{
int size;
cout << "Matrix [Size]: ";
cin >> size;
matrix m1(size), m2(size), m(size);
cout << "\nMatrix 1: \n";
m1.In_put();
cout<<endl;
m1.Out_put();
cout << "\nMatrix 2: \n";
m2.In_put();
cout<<endl;
m2.Out_put();
m=m1+m2;
cout << "\n Matrix 1 + Matrix 2 : \n";
m.Out_put();
cout << "\n";
 
m=m1-m2;
cout << "\n Matrix 1 - Matrix 2 : \n";
m.Out_put();
cout << "\n";
m=m1*m2;
cout << "\n Matrix 1 * Matrix 2 :\n";
m.Out_put();
cout << "\n";
 
 
system("pause");
};
и после закрытия кидает ошибку)
причем тут DLL?
Миниатюры
с++ класс матрица  
BumerangSP
 Аватар для BumerangSP
4283 / 1405 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
01.12.2012, 16:18     с++ класс матрица #4
Вероятно, массиву не хватает выделенной памяти. Нужно быть внимательней и выделять ее необходимое количество.
Demo0n
1 / 1 / 0
Регистрация: 28.10.2012
Сообщений: 86
01.12.2012, 16:21  [ТС]     с++ класс матрица #5
а как тут сделать наследование к каждой опирации
общее есть у каждой опирации
C++
1
2
3
int my_n=(n*n-n)/2+n;
    matrix m_ret(n);
    for(int i=0;i<my_n;i++)
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
01.12.2012, 16:25     с++ класс матрица #6
можешь, пожалуйста, задание сказать понятнее.
Есть класс "матрица". Что от него надо унаследовать?
Или его от чего-то надо наследовать?
BumerangSP
 Аватар для BumerangSP
4283 / 1405 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
01.12.2012, 16:26     с++ класс матрица #7
Ну, во первых, здесь нет ни одного производного класса, надо их создать. Во-вторых, наследуются методы базового класса (целиком), т.е. не кусочки кода)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.12.2012, 19:52     с++ класс матрица
Еще ссылки по теме:

C++ Класс матрица
Класс матрица C++
Класс Матрица C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Demo0n
1 / 1 / 0
Регистрация: 28.10.2012
Сообщений: 86
01.12.2012, 19:52  [ТС]     с++ класс матрица #8
с этим матрицами надо сделать чтобы было "наследование, полиморфизм, инкапсуляция" что-то из этого
ну и можно чтобы все было)
Yandex
Объявления
01.12.2012, 19:52     с++ класс матрица
Ответ Создать тему
Опции темы

Текущее время: 09:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru