1. Macierze reprezentowane jako tablice dwuwymiarowe:
Kod: Zaznacz cały
#include
<iostream>
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<wiersze; i++) // po wierszach
{
for(int j=0; j<kolumny; j++) // po kolumnach
{
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<wiersze; i++)
{
for(int j=0; j<kolumny; 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<wiersze; i++)
{
for(int j=0; j<kolumny; j++)
{
cout << macierzC[i][j];
if(j<kolumny-1) cout << ", ";
}
cout << "\n";
}
cout << "\n";
}
Kod: Zaznacz cały
#include <iostream>
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<wiersze; i=i++) // po wierszach
{
for(int j=0; j<kolumny; j++) // po kolumnach
{
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<wiersze*kolumny; 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<wiersze; i++)
{
for(int j=0; j<kolumny; 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";
}