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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Катя 89
0 / 0 / 0
Регистрация: 10.07.2014
Сообщений: 9
#1

Написать класс «матрица» - C++

10.07.2014, 17:51. Просмотров 1011. Ответов 26
Метки нет (Все метки)

Добрый день я новичок помогите мне Написать класс «матрица». В классе реализовать следующие методы: конструкторы (по умолчанию, с
параметрами, копирования), деструктор, ввод с клавиатуры, поиск элемента по ключу,
вывод на экран (в виде методов класса и при помощи перегруженных операций
потокового ввода и вывода), перегрузить следующие операции: +, += (сложение матриц),
– (вычитание), = (присвоение), = = (сравнение по элементам), [] (взятие элемента с
заданным индексом).
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.07.2014, 17:51
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Написать класс «матрица» (C++):

Написать класс Матрица. Массив объектов класса Массив - C++
Написать класс Матрица (в данном случае матрица – массив объектов класса Массив из предыдущего задания). В классе реализовать следующие...

Написать класс "матрица" - C++
Написать класс "матрица" В классе реализовать методы: конструкторы (по умолчанию, с параметрами, копирования), деструктор, ввод с...

Определить базовый класс "Матрица" и класс-потомок "Треугольная матрица" - C++
Нужно определить класс "матрица" с возможностью динамического выделения и освобождения памяти, наполнения матрицы, сохранения и чтения из...

Написать класс строка и производный класс, ее шифрующий - C++
Добрый день уважаемые форумчане. Вопрос стоит в решении данной задачи. Мне очень нужна ваша помощь по той причине что мне задали задачу по...

Класс, полиморфизм (Написать класс, который хранит в себе некий номер ''nip'', проверит его на правильность и вывести результат) - C++
Задача. Написать класс, который хранит в себе некий номер ''nip'', проверит его на правильность и вывести результат. Вообщем-то ни...

Написать класс по строительству домов. Написать программу, демонстрирующую работу с классом. - C++
Собственно, в С++ немного насасываю, код читать умею, а прогать - нет. К сожалению, обстоятельства сложились так, что я поступил именно...

26
Vourhey
Почетный модератор
6486 / 2260 / 123
Регистрация: 29.07.2006
Сообщений: 12,536
10.07.2014, 17:57 #2
Катя, вопрос-то в чем?
0
Тамика
Котовчанин
917 / 461 / 145
Регистрация: 16.02.2010
Сообщений: 3,222
Записей в блоге: 27
10.07.2014, 18:00 #3
Цитата Сообщение от Vourhey Посмотреть сообщение
Катя, вопрос-то в чем?

Не по теме:

Они используют ключевое слово - "новичок" или "не понимаю с++" и так далее. Это фразы со скрытым смыслом - "напишите мне, а то мне лень учиться".

0
Катя 89
0 / 0 / 0
Регистрация: 10.07.2014
Сообщений: 9
10.07.2014, 18:40  [ТС] #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
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
class Matrix{Array *a;int m,n;
public:
Matrix(int m1,int n1,int t=0);
Array &operator [](int i)
{if(i<0 i>=m){cout<<exit(0);}
return a[i];
}
void Show(); ...
};
{
Matr = new long int*[m];
for (int z=0; z<m; z++)
Matr[z] = new long int[n];
}
private:
unsigned xsize, ysize;
double *Array;
int temporary;
public:
// constructors and destructor
Matrix(): m(), n() { Create(); }
Matrix(long int i): m(i), n(i) { Create(); }
Matrix(long int i, long int j): m(i), n(j) { Create(); }
~Matrix()
{
for (int z=0; z<m; z++)
delete[] Matr[z];
delete[] Matr;
}
// methods
Matrix & operator*(Matrix& M);
Matrix & operator()(unsigned n, unsigned v)
{
Array[n]=v;
}
};
Matrix::Matrix(unsigned y, unsigned x)
{
unsigned asize = x*y;
double v;
Array = new double[asize];
xsize = x;
ysize = y;
temporary = 0;
for(unsigned i = 0; i<asize; i++) {
cout<<"Enter "<< i+1 <<" elemet ";
cin>>v;
Array[i] = v;
}
{
if (i<m && j<n)
return Matr[i][j];
else
cout << "Error: 1";
}
void MultiplyBy(long int x)
{
for(int i=0; i<m; i++)
for(int j=0; j<n; j++)
Matr[i][j] *= x;
}
void Display()
{
for(int i=0; i<m; i++)
{
for(int j=0; j<n; j++)
{
cout.width(4);
cout << Matr[i][j];
}
cout << endl;
}
}
};
return Array[n-1];
}
Matrix & Matrix::operator*(Matrix& M)
{
if(ysize==M.xsize)
for(int i=0;i<ysize;i++)
for(int j=0;j<M.xsize;j++)
for(int k=0;k<ysize;k++)
M(i*j) += Array[i*k]*M(k*j);
else cout<<"Размерности матриц не верны"<<endl;
return M ;
}
Matrix::Matrix(unsigned y, unsigned x, double v)
{
temporary = 0;
Array[y*x] = v;
}
int main()
{
Matrix M();
for (int i=; i<; i++)
{
for (int j=0; j<5; j++)
M.Element(i, j) = i+j;
}
M.Display();
cout << "\n After multiply by 5\n" << endl;
M.MultiplyBy(5);
M.Display();
return 0;
}
 
[size="1"][color="grey"][I]Добавлено через 21 минуту[/I][/color][/size]
есть класс Array. Класс Matr-агрегированный класс.
class Matr
{Array *matr; int m, n;
public:
...
};
0
Vourhey
Почетный модератор
6486 / 2260 / 123
Регистрация: 29.07.2006
Сообщений: 12,536
10.07.2014, 18:45 #5
Цитата Сообщение от Катя 89 Посмотреть сообщение
есть класс Array. Класс Matr-агрегированный класс.
Это ведь кто-то для тебя писал?
Цитата Сообщение от Катя 89 Посмотреть сообщение
есть класс Array.
Где же он есть, когда его нет
0
Катя 89
0 / 0 / 0
Регистрация: 10.07.2014
Сообщений: 9
10.07.2014, 18:52  [ТС] #6
А куда его добавить?
0
Vourhey
Почетный модератор
6486 / 2260 / 123
Регистрация: 29.07.2006
Сообщений: 12,536
10.07.2014, 18:55 #7
Еще не понятно, что за Matr, откуда он берется. Ты компилировала свой код? Он ведь не скомпилится.
0
Катя 89
0 / 0 / 0
Регистрация: 10.07.2014
Сообщений: 9
10.07.2014, 18:58  [ТС] #8
Запуталась окончательно, не могу найти выхода.
0
zss
Модератор
Эксперт С++
6578 / 6140 / 2022
Регистрация: 18.12.2011
Сообщений: 15,999
Завершенные тесты: 1
10.07.2014, 19:06 #9
Цитата Сообщение от Катя 89 Посмотреть сообщение
Запуталась окончательно
Зачем было писать так много сразу?
Начните с:
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
class Matrix
{
private:
   double **Array;
   int m,n;
public:
Matrix(unsigned y, unsigned x) // Конструктор
{
     m=x;n=y;
     Array = new double*[n];
     for(unsigned i = 0; i<n; i++) 
              Array[i]=new double[m];
}
~Matrix() // деструктор
{
     for(unsigned i = 0; i<n; i++) 
              delete[] Array[i];
     delete[] Array;
}
int main()
{
    Matrix A(2,3);
    return 0;
}
0
Катя 89
0 / 0 / 0
Регистрация: 10.07.2014
Сообщений: 9
10.07.2014, 19:07  [ТС] #10
О спасибо, спасибо.
0
Supernatural
301 / 156 / 29
Регистрация: 22.11.2010
Сообщений: 1,554
10.07.2014, 19:08 #11
я предлагаю написать заново и с самого начала, с конструктора.
C++
1
2
3
4
constructor Matr::Matr() //по умолчанию
{
//действия для создания матрицы
}
0
Vourhey
Почетный модератор
6486 / 2260 / 123
Регистрация: 29.07.2006
Сообщений: 12,536
10.07.2014, 19:08 #12
Начни писать с нуля, чтобы распутаться. Безо всяких Matr и Array.
0
Vourhey
10.07.2014, 19:09
  #13

Не по теме:

Цитата Сообщение от zss Посмотреть сообщение
Зачем было писать так много сразу?
Начните с:
Цитата Сообщение от Supernatural Посмотреть сообщение
я предлагаю написать заново и с самого начала, с конструктора.
Да мы все сговорились...

0
Supernatural
10.07.2014, 19:10
  #14

Не по теме:

Да мы все сговорились...
бывает..)))
ладно, доверю этого клиента более опытным программистам))))

0
ojgen
1 / 1 / 0
Регистрация: 29.06.2014
Сообщений: 11
11.07.2014, 03:41 #15
Раньше тоже делал это задание. но я, на твоем месте, выучил бы эту тему.
0
Вложения
Тип файла: rar matr.rar (2.7 Кб, 22 просмотров)
11.07.2014, 03:41
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.07.2014, 03:41
Привет! Вот еще темы с ответами:

Класс Матрица - C++
Вообщем задали мне в универе написать программу для работы с матрицами. Для этого нужно создать класс Матрица. Вообщем я только начал и...

Класс Матрица - C++
Помогите мне пожалуйста разобраться с классом реализующий матрицы. Я пытаюсь инициализировать матрицу и заполнить ее элементами но не...

Класс матрица - C++
Помогите пожалуйста, не могу понять, почему не работает оператор умножения, выводит одни нули в Dev c++,в Visual выдаёт ошибку #include...

класс матрица - C++
Объявите класс TMatric, создающий тип – матрицу. Элементы – данные класса: - указатель на область памяти, в которой расположена...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.