Zamiana gotowego programu na klasy

0

Witam napisalem program wykonujacy mnozenie macierzy, jednak musze zamienic go na klasy a tego nie czaje wgl....oto moj program i bardzo prosze o pomoc...

 #include <iostream>

using namespace std;

main()
{
    int n, m, r, i, j, k, si;
    // odczytujemy wymiary macierzy
    cout << "\tPAMIETAJ LICZBA KOLUMN PIERWSZEJ MACIERZY"<<endl;
    cout << "\t="<<endl;
    cout << "\tLICZBA WIERSZY DRUGIEJ MACIERZY!"<<endl;
    cout << "\nIle wierszy ma byc w macierzy A oraz C? ";
    cin >> n ;        // Pierwsza liczba okreœla n - liczbê wierszy macierzy A oraz C.
    cout << "\nIle kolumn ma byc w macierzy A ? ";
    cin >> m ;   //Druga liczba okreœla m - liczbê kolumn macierzy A oraz wierszy macierzy B.
    cout << "\nIle kolumn ma byc w macierzy B oraz C? ";
    cin >> r ;        //Trzecia liczba okreœla r - liczbê kolumn macierzy B i C.


// tworzymy dynamicznie macierze A, B i C

    int * A = new int[n * m];
    int * B = new int[m * r];
    int * C = new int[n * r];

// odczytujemy zawartoϾ macierzy A
    cout << "\n podaj pierwsza macierz"<<endl;

    for(i = 0; i < n; i++)
        for(j = 0; j < m; j++) cin >> A[i * m + j];

// odczytujemy zawartoϾ macierzy b
    cout << "\n podaj druga macierz"<<endl;
    for(i = 0; i < m; i++)
        for(j = 0; j < r; j++) cin >> B[i * r + j];

// Obliczamy iloczyn macierzy A i B w C
    cout << "\n TO JEST TWOJ WYNIK"<<endl;
    for(i = 0; i < n; i++)
        for(j = 0; j < r; j++)
        {
            si = 0;
            for(k = 0; k < m; k++)
                si += A[i * m + k] * B[k * r + j];
            C[i * r + j] = si;
        }

// Wyprowadzamy wyniki

    cout <<"\n wynik mnozenia macierzy A i B "<< endl ;
    cout << endl;
    for(i = 0; i < n; i++)
    {
        for(j = 0; j < r; j++) cout << C[i * r + j] << " ";
        cout << endl;
    }
}


0

Wiema ze klasy zaczyna sie od czegos takiego ale co dalej??

#include <iostream>

using namespace std;

class macierz
{
    int w;  //liczba wierszy
    int k; //liczba kolum
    int r;

public:
   
    void mnozenie(int w, int k ,int r);

};
1
class Matrix
{
public:
	Matrix(size_t w, size_t h): w(w), h(h), tab(new tab[w*h]) { ; }
	Matrix(const Matrix&);
	~Matrix();

	Matrix& operator=(const Matrix&);

	Matrix operator*(Matrix* r)
	{
		// utworzenie nowego macierza.
		// obliczanie iloczyny.
		// zwrocenie nowego macierza.
	}

private:
	size_t w;
	size_t h;
	int* tab;
};

int main()
{
	// uzycie:
	Matrix a(5, 5);
	Matrix b(5, 5);
	Matrix c(5, 5);
	c = a*b;
}
0

dzieki wielkie :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1