Главная » 2019 » Ноябрь » 13 » c=a+b перегрузка матрицы (квадратная)
11:30
c=a+b перегрузка матрицы (квадратная)

#include <iostream>
#include <ctime>
using namespace std;
class test{
private:
    int **mas,n;
public:
    test(){
        cout<<"VVedite n ";cin>>n;
        mas=new int *[n];
        for (int i=0;i<n;i++) 
            mas[i]=new int[n];
    }
    test(int n1){
        n=n1;
        mas=new int *[n];
        for (int i=0;i<n;i++) 
            mas[i]=new int[n];
    }
    test& operator=(test& y)
    {
        for (int i=0;i<y.n;i++){
            for(int j=0;j<y.n;j++) 
                mas[i][j]=y.mas[i][j];}
        return *this;
    }
    test& operator+(test& y){
        for (int i=0;i<y.n;i++)
            for(int j=0;j<y.n;j++) 
                mas[i][j]=mas[i][j]+y.mas[i][j];
        return *this;
    }
    test& operator-(test& y){
        for (int i=0;i<y.n;i++)
            for(int j=0;j<y.n;j++) 
                mas[i][j]=mas[i][j]-y.mas[i][j];
        return *this;
    }
    void set()
    {
        //cin.get();
        srand(time(0));
        for (int i=0;i<n;i++)    
            for(int j=0;j<n;j++)
                mas[i][j]=rand()%90+10;
    }
    void get(){
        for (int i=0;i<n;i++)
        {
            for(int j=0;j<n;j++) 
                cout<<mas[i][j]<<" ";
            cout<<endl;
        }
        cout<<endl;
    }
    ~test(){
        for (int i=0;i<n;i++)
          delete[] mas[i];
        delete[]mas;
    }
};
int main()
{
    int n;
    cout<<"Vvedite razmernost n ";cin>>n;
    test a(n);
    a.set(); a.get();
    test b(n);
    b.set(); b.get();
    test c(n); 
    c=a+b;
    c.get();
    system("pause");
    return 0; 
}

Просмотров: 264 | Добавил: denjes | Рейтинг: 0.0/0
Всего комментариев: 0
avatar