Professional Documents
Culture Documents
class Matrica{
int **p,m,n;
public:
Matrica();
Matrica(int, int);
~Matrica();
void unos();
void ispis();
};
Matrica::Matrica(){
p=NULL;
m=0;
n=0;
}
Matrica::Matrica(int red, int kol){
m=red;
n=kol;
p= new int*[red];
for(int i=0;i<red;i++){
p[i]= new int[kol];
}
for(int k=0;k<m;k++){
for(int j=0;j<n;j++)
p[k][j]=0;
}
}
Matrica::~Matrica(){
for(int i=0;i<m;i++)
delete p[i];
delete p;
}
void Matrica::unos(){
cout<<"Unesite elemente matrice po redovima: "<< endl;
for(int i=0;i<m;i++)
for(int j=0; j<n;j++)
cin>>p[i][j];
}
void Matrica::ispis(){
cout<<"Matrica je"<< endl;
for(int i=0;i<m;i++){
for(int j=0; j<n;j++)
cout<<p[i][j]<<" ";
cout << endl;
}
cout<< endl;
}
int main(){
Matrica A;
A.ispis();
Matrica B(3,3);
B.ispis();
B.unos();
B.ispis();
return 0;
}
Drugi dio:
# include <iostream>
class Matrica{
int **p,m,n;
public:
Matrica();
Matrica(int, int);
~Matrica();
void unos();
void ispis();
int& operator()(int,int);
Matrica(const Matrica &);
Matrica& operator=(const Matrica &);
Matrica operator+(Matrica);
friend Matrica operator*(Matrica,Matrica); //frend funkcija bez get i set i pristupa elementima
matrice
};
Matrica::Matrica(){
p=NULL;
m=0;
n=0;
}
Matrica::Matrica(int red, int kol){
m=red;
n=kol;
p= new int*[red];
for(int i=0;i<red;i++){
p[i]= new int[kol];
}
for(int k=0;k<m;k++){
for(int j=0;j<n;j++)
p[k][j]=0;
}
Matrica::~Matrica(){
for(int i=0;i<m;i++)
delete p[i];
delete p;
void Matrica::unos(){
cout<<"Unesite elemente matrice po redovima: "<< endl;
for(int i=0;i<m;i++)
for(int j=0; j<n;j++)
cin>>p[i][j];
}
void Matrica::ispis(){
cout<<"Matrica je"<< endl;
for(int i=0;i<m;i++){
for(int j=0; j<n;j++)
cout<<p[i][j]<<" ";
cout << endl;
}
cout<< endl;
}
}
Matrica::Matrica(const Matrica &A){
m=A.m;
n=A.n;
p= new int*[m];
for(int i=0;i<m;i++){
return*this;
}
Matrica Matrica::operator+(Matrica A){
if (m==A.m && n==A.n){
Matrica R(m,n);
for(int i=0;i<m;i++){
for(int j=0; j<n;j++)
R.p[i][j]=p[i][j]+A.p[i][j];
}
return R;
}
else
cout<< "Nisu iste dimenzije matrica!!"<< endl;
}
return R;
}
else
cout<< "Dimenzije matrice se ne podudaraju!!!"<<endl;
}
int main(){
Matrica A;
A.ispis();
Matrica B(3,3);
B.ispis();
B.unos();
B.ispis();
B(2,2)=0;
B.ispis();
Matrica C=B;
C.ispis();
A=C;
A.ispis();
C=A+B;
cout<<"A+B"<<endl;
C.ispis();
C=A*B;
cout<<"A*B"<<endl;
C.ispis();
return 0;
}