Porém ele está dando uns problemas que não faço idéia do pq.
Pelo que pude perceber, ele não está entendendo o tipo Matriz22 como um tipo de matriz e não consegue devolve-lo como retorno.Se Alguém puder me ajudar eu agradeço!
Erro: 14 C:\Documents and Settings\Gustavo Bodra\Meus documentos\facul\LTP I\Matriz\libMatriz.cpp conversion from `float (*)[2]' to non-scalar type `Matriz22' requested
libMatriz.h
class Matriz22{
private:
float matriz22[2][2];
public:
//construtor da classe
Matriz22();
//metodos get e set
Matriz22 getMatriz22();
void setMatriz22(Matriz22 matrizTemporaria);
//Fim - metodos get e set
//soma de matrizes
Matriz22 somaMatriz(Matriz22 matrizSomada);
//subtracao de matrizes
Matriz22 subatraiMatriz(Matriz22 matrizSubtraida);
//multiplicacao de matrizes
Matriz22 multiplicaMatriz(Matriz22 matrizMultiplicada);
//matriz transposta
void transpoeMatriz();
//determinante de matriz 2x2
int determinanteMatriz();
};libMatriz.cpp
#include "libMatriz.h"
//construtor da classe
Matriz22::Matriz22(){
for (int i=0; i < 2; i++){
for (int j=0; j < 2; j++){
matriz22[i][j] = 0;
}
}
}
//metodos get e set
Matriz22 Matriz22::getMatriz22(){
return matriz22;
}
void Matriz22::setMatriz22(Matriz22 matrizTemporaria){
for (int i=0; i < 2; i++){
for (int j=0; j < 2; j++){
matriz22[i][j] = matrizTemporaria[i][j];
}
}
}
//Fim - metodos get e set
//soma de matrizes
Matriz22 Matriz22::somaMatriz(Matriz22 matrizSomada){
Matriz22 auxiliar;
Matriz22 matrizDaClasse = getMatriz22();
for (int i=0; i < 2; i++){
for (int j=0; j < 2; j++){
auxiliar[i][j] = matrizDaClasse[i][j] + matrizSomada[i][j];
}
}
return auxiliar;
}
//subtracao de matrizes
Matriz22 Matriz22::subatraiMatriz(Matriz22 matrizSubtraida){
Matriz22 auxiliar;
Matriz22 matrizDaClasse = getMatriz22();
for (int i=0; i < 2; i++){
for (int j=0; j < 2; j++){
auxiliar[i][j] = matrizDaClasse[i][j] - matrizSubtraida[i][j];
}
}
return auxiliar;
}
//multiplicacao de matrizes
Matriz22 Matriz22::multiplicaMatriz(Matriz22 matrizMultiplicada){
Matriz22 auxiliar;
Matriz22 matrizDaClasse = getMatriz22();
auxiliar[0][0] = (matrizDaClasse[0][0] * matrizMultiplicada[0][0]) + (matrizDaClasse[0][1] * matrizMultiplicada[1][0]);
auxiliar[0][1] = (matrizDaClasse[0][0] * matrizMultiplicada[0][1]) + (matrizDaClasse[0][1] * matrizMultiplicada[1][1]);
auxiliar[1][0] = (matrizDaClasse[1][0] * matrizMultiplicada[0][0]) + (matrizDaClasse[1][1] * matrizMultiplicada[1][0]);
auxiliar[1][1] = (matrizDaClasse[1][0] * matrizMultiplicada[0][1]) + (matrizDaClasse[1][1] * matrizMultiplicada[1][1]);
return auxiliar;
}
//matriz transposta
void Matriz22::transpoeMatriz(){
Matriz22 auxiliar;
Matriz22 matrizDaClasse = getMatriz22();
for (int i=0; i< 2; i++){
for (int j=0; j < 2; j++){
auxiliar[j][i] = matrizDaClasse[i][j];
}
}
setMatriz22(auxiliar);
}
//determinante de matriz 2x2
int Matriz22::determinanteMatriz(){
Matriz22 matrizDaClasse = getMatriz22();
int determinante = 0;
determinante = (matrizDaClasse[0][0] * matrizDaClasse[1][1]) - (matrizDaClasse[0][1]*matrizDaClasse[1][0]);
return determinante;
}



Postagens
Não informado
