Пример #1
0
int main(){ //Testeo de las funciones.
	
	TP3::Funciones func;

	Matriz* A = new Matriz(4,4);
	
	A->cambiarValor(1,1,6);
	
	Matriz* B = A->Identidad(5); 
	Matriz* C = new Matriz(*B);
	
	B->cambiarFilas(1,2);
	
	Matriz* sub = A->SubMatriz(1,1);
	
	
	Matriz* D = (*B)+C;

	Matriz* E = new Matriz(*C);
	(*E)*7;
	
	Matriz* F = (*D)*E;
	
	cout << A << endl;
	cout << B << endl;
	cout << D << endl;
	cout << E << endl;
	F->cambiarValor(1,2,1);
	F->cambiarValor(4,0,8);
	cout << F << endl;
	Matriz* G = F->Transponer();
	cout << G << endl;
	
	cout << sub << endl;
	
	delete A;
	delete B;
	delete C;
	delete D;
	delete E;
	delete F;
	delete G;
	delete sub;
	
	return 0;
}
Пример #2
0
Matriz* Matriz::Identidad(const unsigned int n){

    Matriz* res = new Matriz(n,n,0,0);
    for(int i =0;i<n;i++){

        res->cambiarValor(i,i,1);
    }
    return res;
}
Пример #3
0
Matriz* Matriz::operator+(Matriz* B){

    Matriz* res = new Matriz(*B,_p,_q);
    for(int i=0; i< _fil;i++){
        for(int j=0; j<_col;j++){
            double newVal = elem(i,j) + (*B).elem(i,j);
				res->cambiarValor(i,j,newVal);
            }
        }
    return res;
}
Пример #4
0
Matriz* Matriz::SubMatriz(const unsigned int k,const unsigned int l){  //Submatriz cuad.

    int tam = _fil - k;
    Matriz* res = new Matriz(tam,tam,_p,_q);
    for(int i=0; i<tam;i++){
            for(int j=0;j<tam;j++){
                double newVal = elem(k+i,l+j);
                res->cambiarValor(i,j,newVal);
            }
    }
    return res;
}
Пример #5
0
Matriz* Matriz::operator*(Matriz* B){
	
	int maxP = max(_p,B->_p);
	int maxQ = max(_q,B->_q);
    Matriz* res = new Matriz(_fil,B->Columnas(), maxP, maxQ);
    //Matriz res = *this;
    for(int i =0; i< _fil;i++){
        for(int j=0; j<B->Columnas();j++){
            double temp = 0;
            for (int k = 0; k < _col; k++){
                temp = temp + ((elem(i,k) * B->elem(k,j)));
            }

            res->cambiarValor(i,j,temp);
        }
    }
    return res;
};