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

Создать класс матрица - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Создать класс matrix http://www.cyberforum.ru/cpp-beginners/thread31739.html
разработать класс Matrix – матрица, физически представляющая собой вектор, состоящий из заданного числа векторов. Реализовать метод сравнения двух матриц (==, !=). Помогите плизз З.Ы. Написать на MS VS 2005 for win32
C++ Builder Как прописать слова через пробел в одну строку? поправьте пож.так чтобы ФИО выводились как например: Селин Павел Викторович т.е. с пробелами между Ф И О Label26->Caption=Edit3->Text+Edit4->Text+Edit5->Text; ато получается селинпавеовикторович. Edit3->Text- фамилия Edit4->Text- имя Edit5->Text- оТчество http://www.cyberforum.ru/cpp-beginners/thread31734.html
C++ Как сохранить полученный результат в блокноте?
как сохранить полученные результаты в блокноте на рабочий стол. данные прописаны к примеру в Label1->Caption (ФИО) и Label2->Caption (Зарплата) т.е. нужно чтобы ФИО и зарплата прописаны были в одну строку в блокнот и сохранить их. что для этого нужно сделать.
C++ Не работает ссылка на функцию.
Пожалуйста,Помогите найти ошибку.Мне нужно сделать ссылку на функцию, которая является функцией класса interface. С этой ссылкой на функцию я должна работать в функциях класса newt.Проблемма в том, что у меня не получается сделать ссылку на функцию и ее челены. В итоге работаю с клоном на эту функцию и это очень не правельно. //newt.hpp class newt { public: interface *func; ...
C++ Задача на массивы http://www.cyberforum.ru/cpp-beginners/thread31715.html
Просмотрел все по поиску, есть одна похожая тема, но без окончания, решил создать новую из уважения к автору, чтобы не вклиниваться...не могу сообразить как оформить код на такую задачу: Разделить массив на две части, поместив в первую элементы, большие среднего арифметического их суммы, а во вторую —меньшие (части не сортировать) буду благодарен за любую помощь старших товарищей :)
C++ Двумерный массив,вектор из суммы элементов Пожалуйста помогите решить задачку,я в этом деле новичок... Сформулировать вектор из суммы элементов строк и найти их среднее арифмитическое. Заранее благоларен! подробнее

Показать сообщение отдельно
Sabijan
0 / 0 / 0
Регистрация: 21.02.2013
Сообщений: 7
02.03.2014, 18:26     Создать класс матрица
здравствуйте, помогите, пожалуйста. возникла проблема с классом матриц
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
class matrix
{
      private:
      int Row, Col;
      double **value;
      public:
      matrix(int, int);
      ~matrix();
      matrix(matrix &);
      int GetRow();
      int GetCol();
      double & matrix:: operator()(int,int);
      friend matrix operator+(matrix &, matrix &);
      friend std::istream & operator>>(std::istream&istr, matrix &);
      friend std::ostream & operator<<(std::ostream&istr, matrix &);
      matrix operator=(matrix &);
};
 
#include <iostream.h>
#include <conio.h>
#include "matrix.h"
int matrix::GetRow() const
{
    return(Row);
}
int matrix::GetCol()
{
    return(Col);
}
matrix::matrix(int row, int col)
{
                   Row=row;
                   Col=col;
                   value=new double *[Row];
                   for (int i=0; i<Row; i++)
                   value[i]=new double [Col];
                   }
matrix::matrix(matrix &m)
{
                        Row=m.GetRow();
                        Col=m.GetCol();
                        value = new double *[Row];
                        for (int i=0; i<Row; i++)
                        value [i]=new double [Col];
                        for (int i=0; i<Row; i++)
                        for (int j=0; j<Col; j++)
                        value[i][j]=m.value[i][j];
                        }
                                      
matrix::~matrix()
{
                 for(int i=0; i<Row; i++)
                 delete []value[i];
                 delete []value;
                 }
double & matrix:: operator ()(int row, int col)
{
       return(value[row][col]);
       }
matrix operator + (matrix &m1, matrix &m2)
{
       int Row=m1.GetRow();
       int Col=m2.GetCol();
       matrix temp(Row, Col);
       for(int i=0; i<Row; i++)
       for(int j=0; j<Col; j++)
       temp(i,j)=m1(i,j)+m2(i,j);
       return(temp);
       }
std::istream &operator >>(std::istream&istr, matrix&m)
{
        int Row=m.GetRow();
        int Col=m.GetCol();
        for(int i=0; i<Row; i++)
        for(int j=0; j<Col; j++)
        istr>>m(i,j);
        return(istr);
        }
std::ostream & operator <<(std::ostream&ostr, matrix&m)
{
        int Row=m.GetRow();
        int Col=m.GetCol();
        for(int i=0; i<Row; i++)
        {
        for(int j=0; j<Col; j++)
        ostr<<m(i,j)<<"\t";
        ostr<<"\n";
        }
        return(ostr);
        }
 
        matrix matrix::operator=(matrix &m1)
        {
               int i,j;
       matrix temp(Row, Col);
       for(int i=0; i<Row; i++)
       for(int j=0; j<Col; j++)
       temp(i,j)=m1(i,j);
       return this;
       }
 
int main()
{
    matrix a(2,2);
    matrix b(a),c(a);
   cout<<"enter A= \n";
 cin>>a;
   cout<<"enter B= \n";
    cin>>b;
 
c = (a+ b);
cout << c;
    system("PAUSE");
    return (0);
}

компилятору не нравится строчка в мэйне c=a+b;
ему вообще ничего не нравится.
задание нужно сделать именно в таком виде с дружескими функциями <<, >>, +, -.
можете найти ошибку в коде?
 
Текущее время: 22:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru