[C++] Dodawanie macierzy na 2 sposoby

Witam, napisałem dodawanie macierzy na 2 sposoby. Będę wdzięczny za wszelkie uwagi, komentarze i spostrzeżenia.

  1. Macierze reprezentowane jako tablice dwuwymiarowe:

    #include

    using namespace std;

    void wprowadz_macierz(int macierz[][10],int wiersze, int kolumny);

    void dodaj_macierze(int macierzA[][10], int macierzB[][10], int macierzC[][10],int wiersze, int kolumny);

    void wyswietl_wynik(int macierzC[][10],int wiersze,int kolumny);

    int main()

    {

     int macA[10][10], macB[10][10], macC[10][10]={0},wmac,kmac;
    
     cout << "Podaj rozmiar obu macierzy:\nWierszy: ";
    
     cin >> wmac;
    
     cout << "Kolumn: ";
    
     cin >> kmac;
    
     if((kmac) && (wmac) && (wmac<11) && (kmac<11)) // sprawdzenie poprawnosci rozmiarow macierzy
    
     {
    
     	cout << "\nMacierz A: \n";
    
     	wprowadz_macierz(macA,wmac,kmac); // wprowadzamy macierz A
    
     	cout << "\nMacierz B\n";
    
     	wprowadz_macierz(macB,wmac,kmac); // i macierz B	
    
     	dodaj_macierze(macA,macB,macC,wmac,kmac); // dodajemy je
    
     	wyswietl_wynik(macC,wmac,kmac); // i wyswietlamy macierz wynikowa
    
     }
    
     else cout << "Zly rozmiar macierzy!\n";
    
     return 0;
    

    }

    // **************************************************************************

    void wprowadz_macierz(int macierz[][10], int wiersze, int kolumny)

    {

     for(int i=0; i
     {
    
     	for(int j=0; j
     	{
    
     		cout << "Podaj element (" << i+1 << "," << j+1 << "): ";
    
     		cin >> macierz[i][j];
    
     	}
    
     }
    

    }

    // ********************************************************************************

    void dodaj_macierze(int macierzA[][10], int macierzB[][10], int macierzC[][10],int wiersze,int kolumny)

    {

     for(int i=0; i
     {
    
     	for(int j=0; j
     	{
    
     		macierzC[i][j]=macierzA[i][j]+macierzB[i][j]; // wlasciwe dodawanie
    
     	}
    
     }
    

    }

    // ***********************************************************

    void wyswietl_wynik(int macierzC[][10],int wiersze,int kolumny)

    {

     cout << "\nWynik:\n";
    
     for(int i=0; i
     {
    
     	for(int j=0; j
     	{
    
     		cout << macierzC[i][j];
    
     		if(j
     	}
    
     	cout << "\n";
    
     }
    
     cout << "\n";
    

    }

  2. Macierze reprezentowane jako tablice jednowymiarowe:

    #include

    using namespace std;

    void wprowadz_macierz(int macierz[],int wiersze, int kolumny);

    void dodaj_macierze(int macierzA[], int macierzB[], int macierzC[],int wiersze, int kolumny);

    void wyswietl_wynik(int macierzC[],int wiersze,int kolumny);

    int main()

    {

     int macA[100], macB[100], macC[100]={0},wmac,kmac; // wmac - ilosc wierszy, kmac - ilosc kolumn, dodajemy macierze wmac x kmac
    
     cout << "Podaj rozmiar obu macierzy:\nWierszy: ";
    
     cin >> wmac;
    
     cout << "Kolumn: ";
    
     cin >> kmac;
    
     if((kmac) && (wmac) && (wmac<11) && (kmac<11)) // sprawdzenie poprawnosci rozmiarow macierzy
    
     {
    
     	cout << "\nMacierz A: \n";
    
     	wprowadz_macierz(macA,wmac,kmac); // wprowadzamy pierwsza macierz
    
     	cout << "\nMacierz B\n";
    
     	wprowadz_macierz(macB,wmac,kmac);	// i druga
    
     	dodaj_macierze(macA,macB,macC,wmac,kmac); // i je dodajemy
    
         wyswietl_wynik(macC,wmac,kmac); // wyswietlamy wynikowa macierz
    
     }
    
     else cout << "Zly rozmiar macierzy!\n";
    
     return 0;
    

    }

    // *********************************************************************

    void wprowadz_macierz(int macierz[], int wiersze, int kolumny) // funkcja do wprowadzania macierzy

    {

     for(int i=0; i
     {
    
     	for(int j=0; j
     	{
    
     		cout << "Podaj element (" << i+1 << "," << j+1 << "): ";
    
     		cin >> macierz[(i*kolumny)+j]; // mnozymy i razy liczbe kolumn, zeby wartosci w tablicy jednowymiarowej nie nadpisywaly sie
    
     	}
    
     }
    

    }

    // ************************************************************************************************

    void dodaj_macierze(int macierzA[], int macierzB[], int macierzC[],int wiersze,int kolumny) // funkcja dodajaca macierze

    {

     for(int i=0; i
     {
    
     	macierzC[i]=macierzA[i]+macierzB[i];
    
     }
    

    }

    // *********************************************************************************

    void wyswietl_wynik(int macierzC[],int wiersze,int kolumny) // wyswietlanie macierzy wynikowej

    {

     cout << "\nWynik:\n";
    
     for(int i=0; i
     {
    
     	for(int j=0; j
     	{
    
     		cout << macierzC[(i*kolumny)+j]; // (i*kolumny)+j, a nie (i+j) zeby np macierzC(1,0) nie nadpisalo macierzC(0,1)
    
     		cout << "\t";
    
     	}
    
     	cout << "\n";
    
     }
    
     cout << "\n";
    

    }