Run Code
|
API
|
Code Wall
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
Gauss 4x4 reducido
//g++ 5.4.0 #include <iostream> #include <iomanip> using namespace std; int gauss4(float [4][4], float [4], float [4]); int gauss4x4(float [4][4], float [4], float [4]); int mostrar_matriz(float [4][4], float [4]); int main() { float matriz[4][4]; float sol[4]; float b[4]={1,2,3,4}; for(int i=0; i<4;i++){ for(int j=0; j<4; j++){ cin>>matriz[i][j]; } } mostrar_matriz(matriz,b); cout<<"\n"; gauss4x4(matriz, b, sol); // } /* int gauss4(float matriz[4][4], float b[4], float sol[4]){ float div[4]; /////////////////////////////////////////////////////////////////////////////////////// for(int i=0; i<4; i++) div[i]=matriz[i][0]; for(int i=0; i<4; i++) matriz[0][i]=matriz[0][i]/div[0]; b[0]=b[0]/div[0]; mostrar_matriz(matriz,b); for(int i=1; i<4; i++){ for(int j=0; j<4; j++){ matriz[i][j]=matriz[i][j]-(div[i]*matriz[0][j])/matriz[0][0]; } b[i]=b[i]-(div[i]*b[0])/matriz[0][0]; } mostrar_matriz(matriz,b); /////////////////////////////////////////////////////////////////////////////////////// for(int i=0; i<4; i++) div[i]=matriz[i][1]; for(int i=0; i<4; i++) matriz[1][i]=matriz[1][i]/div[1]; b[1]=b[1]/div[1]; mostrar_matriz(matriz,b); for(int i=2; i<4; i++){ for(int j=1; j<4; j++){ matriz[i][j]=matriz[i][j]-(div[i]*matriz[1][j])/matriz[1][1]; } b[i]=b[i]-(div[i]*b[1])/matriz[1][1]; } mostrar_matriz(matriz,b); /////////////////////////////////////////////////////////////////////////////////////// for(int i=0; i<4; i++) div[i]=matriz[i][2]; for(int i=0; i<4; i++) matriz[2][i]=matriz[2][i]/div[2]; b[2]=b[2]/div[2]; mostrar_matriz(matriz,b); for(int i=3; i<4; i++){ for(int j=2; j<4; j++){ matriz[i][j]=matriz[i][j]-(div[i]*matriz[2][j])/matriz[2][2]; } b[i]=b[i]-(div[i]*b[2])/matriz[2][2]; } mostrar_matriz(matriz,b); /////////////////////////////////////////////////////////////////////////////////////// for(int i=0; i<4; i++) div[i]=matriz[i][3]; for(int i=0; i<4; i++) matriz[3][i]=matriz[3][i]/div[3]; b[3]=b[3]/div[3]; mostrar_matriz(matriz,b); //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ for(int i=0; i<4; i++) div[i]=matriz[i][3]; for(int i=0; i<3; i++){ matriz[i][3]=matriz[i][3]-matriz[3][3]*matriz[i][3]; b[i]=b[i]-b[3]*div[i]; } mostrar_matriz(matriz,b); //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ for(int i=0; i<4; i++) div[i]=matriz[i][2]; for(int i=0; i<2; i++){ matriz[i][2]=matriz[i][2]-matriz[2][2]*matriz[i][2]; b[i]=b[i]-b[2]*div[i]; } mostrar_matriz(matriz,b); //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ for(int i=0; i<4; i++) div[i]=matriz[i][1]; for(int i=0; i<1; i++){ matriz[i][1]=matriz[i][1]-matriz[1][1]*matriz[i][1]; b[i]=b[i]-b[1]*div[i]; } mostrar_matriz(matriz,b); return 0; }*/ int gauss4x4(float matriz[4][4], float b[4], float sol[4]){ float div[4]; for(int k=0;k<4;k++){ for(int i=0; i<4; i++) div[i]=matriz[i][k]; for(int i=0; i<4; i++) matriz[k][i]=matriz[k][i]/div[k]; b[k]=b[k]/div[k]; for(int i=k+1; i<4; i++){ for(int j=k; j<4; j++){ matriz[i][j]=matriz[i][j]-(div[i]*matriz[k][j])/matriz[k][k]; } b[i]=b[i]-(div[i]*b[k])/matriz[k][k]; } } for(int i=0; i<4; i++) div[i]=matriz[i][3]; for(int i=0; i<4; i++) matriz[3][i]=matriz[3][i]/div[3]; b[3]=b[3]/div[3]; //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ for(int k=3; k>0; k--){ for(int i=0; i<4; i++) div[i]=matriz[i][k]; for(int i=0; i<k; i++){ matriz[i][k]=matriz[i][k]-matriz[k][k]*matriz[i][k]; b[i]=b[i]-b[k]*div[i]; } } mostrar_matriz(matriz,b); return 0; } int mostrar_matriz(float matriz[4][4],float b[4]){ printf("\n"); for(int i=0; i<4;i++){ for(int j=0; j<4; j++){ cout<<matriz[i][j]<<" "; } cout<<" "<<b[i]; printf("\n"); } return 0; }
run
|
edit
|
history
|
help
0
Merge problem
Building squares using smallest amount of matches
frndclass
RotateMat
Right view of a tree
005#
Expected types
python
Graph Theory 2
BinTree playground