
PS. Oczywiście jeżeli coś jest nie tak jak powinno to prosze zmienić po swojemu

Tablica.h
Kod: Zaznacz cały
#ifndef TABLICA_H
#define TABLICA_H
#include<iostream>
using namespace std;
class tablica
{
private:
int wiersz[];
int kolumna[]; //new
//int m, n, e, f, o, p, v;
//int tab1[10][10];
//int tab2[10][10];
//int tab3[10][10];
public:
tablica(int w, int k);
~tablica(void);
void uzupelnianie_tablicy1(tablica tab1[10][10]);
void uzupelnianie_tablicy2(tablica tab2[10][10]);
void wyswietlanie_tablicy(tablica tab3[10][10]);
void dodawanie_tablic(tablica tab1[10][10], tablica tab2[10][10]);
void mnozenie_tablic(tablica[10][10], tablica[10][10]);
};
#endif
Kod: Zaznacz cały
#include "tablica.h"
#include<iostream>
using namespace std;
int m, n, e, f, o, p, v;
int i, j, x, y;
tablica tab1[10][10];
tablica tab2[10][10];
tablica tab3[10][10];
tablica::tablica(int w, int k)
{
w = wiersz[10];
k = kolumna[10];
}
void tablica::uzupelnianie_tablicy1(tablica)
{
for(m=0; m<i; m++)
{
for(n=0; n<j; n++)
{
cout << "podaj element [" << m << "][" << n << "] tablicy pierwszej" << endl;
cin >> tab1[m][n];
}
}
}
void tablica::uzupelnianie_tablicy2(tablica)
{
for(e=0; e<x; e++)
{
for(f=0; f<y; f++)
{
cout << "podaj element [" << e << "][" << f << "] tablicy drugiej" << endl;
cin >> tab2[e][f];
}
}
}
void tablica::dodawanie_tablic(tablica, tablica)
{
for(e=0,m=0,o=0; m<i; e++, m++, o++)
{
for(f=0,n=0,p=0; n<j; f++, n++, p++)
{
tab3[o][p]=tab1[m][n]+tab2[e][f];
}
}
}
void tablica::mnozenie_tablic(tablica, tablica)
{
for(o=0; o<i; o++)
{
for(p=0; p<j; p++)
{
for(v=0; v<i; v++)
{
tab3[o][p] += tab1[o][v] * tab2[v][o];
}
}
}
}
void tablica::wyswietlanie_tablicy(tablica)
{
for(o=0; o<i; o++)
{
for(p=0; p<j; p++)
{
cout << "[" << o << "][" << p << "]=" << tab3[o][p] << endl;
}
}
}
Kod: Zaznacz cały
#include "tablica.h"
#include <iostream>
using namespace std;
//int i, j, m, n, x, y, e, f, o, p, a;
int a;
int i, j, x, y;
tablica tab1[10][10];
tablica tab2[10][10];
tablica tab3[10][10];
void uzupelnianie_tablicy1(tablica);
void uzupelnianie_tablicy2(tablica);
void wyswietlanie_tablicy(tablica);
void dodawanie_tablic(tablica, tablica);
void mnozenie_tablic(tablica, tablica);
tablica * wsk;
//tablica dwuwymiarowa;
int main()
{
cout<<"__________________Oblicznia na Macierzach_______________________\n";
cout<<"| |\n";
cout<<"|Prosze wybrac opcje: |\n";
cout<<"|1)Dodawanie 2 Macierzy |\n";
cout<<"|2)Mnozenie 2 Macierzy |\n";
cout<<"|______________________________________________________________|\n";
cin>>a;
switch(a)
{
case 1: //******tablica pierwsza********
cout<<"podaj ilosc wierszy tablicy pierwszej" << endl;
cin>>i;
cout<<"podaj ilosc kolumn tablicy pierwszej" << endl;
cin>>j;
//*******tablica druga***********
cout<<"podaj ilosc wierszy tablicy drugiej" << endl;
cin>>x;
cout<<"podaj ilosc kolumn tablicy drugiej" << endl;
cin>>y;
if(i==x && j==y)
{
uzupelnianie_tablicy1(tab1[10][10]);
uzupelnianie_tablicy2(tab2[10][10]);
dodawanie_tablic(tab1[10][10],tab2[10][10]);
wyswietlanie_tablicy(tab3[10][10]);
}
else{
cout<<"Można dodawać tylko równe tablice!!!\n";
}
break;
case 2: //*******tablica pierwsza********
cout<<"podaj ilosc wierszy tablicy pierwszej" << endl;
cin>>i;
cout<<"podaj ilosc kolumn tablicy pierwszej" << endl;
cin>>j;
//*******tablica druga***********
cout<<"podaj ilosc wierszy tablicy drugiej" << endl;
cin>>x;
cout<<"podaj ilosc kolumn tablicy drugiej" << endl;
cin>>y;
if(i==y)
{
uzupelnianie_tablicy1(tab1[10][10]);
uzupelnianie_tablicy2(tab2[10][10]);
mnozenie_tablic(tab1[10][10],tab2[10][10]);
wyswietlanie_tablicy(tab3[10][10]);
}
else{
cout<<"Nie można pomnożyć!!!";
}
break;
}
}