Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "pch.h"
- #include <iostream>
- #include <gtest/gtest.h>
- using namespace std;
- class Matrix //klasa macierzy
- {
- public:
- Matrix(int, int); // domyślny konstruktor = metoda
- int** tab; // tworzymy wskaznik do tablicy
- int wers; // rozmiar wersów
- int kolumna; // rozmiar kolunm
- void dodawanie(const Matrix& M2);
- void wstaw(); // funkcja uzupełniająac macierz
- void show();
- ~Matrix();
- };
- Matrix::Matrix(int size_w, int size_k) //deklaracja meotody
- {
- this->kolumna = size_k; // wskazujemy na atrybut obiektu kolumna i przypisujemy go do argumntu size_k
- this->wers = size_w; //wskazujmey na atrybut obiektu wers i przypisujemy bo wartość
- this->tab = new int*[size_w]; // alokujemy pamiec na tablice o romiarze
- //size_w czyli wierszy
- for (int i = 0; i < this->wers; i++) //alokujemy pamieć
- {
- for (int j = 0; j < this->kolumna; j++)
- {
- this->tab[i] = new int[size_k];
- }
- }
- }
- Matrix::~Matrix()
- {
- cout << "destruktor" << endl;
- for (int i = 0; i < this->wers; i++)
- {
- delete[] this->tab[i];
- }
- delete this->tab;
- }
- void Matrix::wstaw()
- {
- for (int i = 0; i < this->wers; i++) // wypelniamy macierz wersami
- {
- for (int j = 0; j < this->kolumna; j++) // jednoczesnie wypełniając
- //kolumny
- {
- cout << "Wartosc [" << i << "][" << j << "] ";
- cin >> this->tab[i][j]; //wprowadzamy z klawiruty
- //wartosci
- }
- }
- }
- void Matrix::show()
- {
- for (int i = 0; i < this->wers; i++)
- {
- for (int j = 0; j < this->kolumna; j++)
- {
- cout << this->tab[i][j] << " ";
- }
- cout << endl;
- }
- }
- void Matrix::dodawanie(const Matrix& M2)
- {
- if (this->wers != M2.wers || this->kolumna != M2.kolumna)
- {
- cout << "blad" << endl;
- exit(-1);
- }
- else
- {
- for (int i = 0; i < this->wers; i++)
- {
- for (int j = 0; j < this->kolumna; j++)
- {
- this->tab[i][j] += M2.tab[i][j];
- }
- cout << endl;
- }
- }
- }
- int main(int argc, char* argv[])
- {
- unique_ptr<Matrix> ptrM = unique_ptr<Matrix>{ new Matrix(3,2) };
- unique_ptr<Matrix> ptrM2 = unique_ptr<Matrix>{ new Matrix(3,2) };
- ptrM->wstaw(); // dla obiektu klasy M wykona się funkcja
- ptrM->show();
- cout << "dane drugiej macierzy: " << endl;
- ptrM2->wstaw(); // dla obiektu klasy M2 wykona się funkcja
- ptrM2->show();
- }
Advertisement
Add Comment
Please, Sign In to add comment