Eliminasi Gaus adalah sebuah cara eliminasi yang digunakan untuk menemukan akar-akar penyelesaian dari beberapa persamaan.
Disini adalah contoh program untuk Eliminasi Gauss untuk mengeliminasikan 3 buah persamaan :
#include<stdio.h>
int main()
{
float X1, X2, X3;
float p[3][4];
float q[3][4];
float r[3][4];
int j,k;
int jwbn;
ulang:
system("CLS");
for(j=1; j<=3; j++){
for(k=1; k<=4; k++){
printf("p[%d][%d] = ", j, k); scanf("%f", &p[j][k]);
}
}
printf("\n");
for(j=1; j<2; j++){
for(k=1; k<=4
; k++){
q[j][k]=p[j][k];
printf("q[%d][%d] = %f \n", j, k, q[j][k]);
}}
printf("\n");
for(j=2; j<=3; j++){
for(k=1; k<2; k++){
q[j][k]= 0;
}}
q[2][2] = p[2][2] - ((p[2][1]/p[1][1])*p[1][2]);
q[2][3] = p[2][3] - ((p[2][1]/p[1][1])*p[1][3]);
q[2][4] = p[2][4] - ((p[2][1]/p[1][1])*p[1][4]);
q[3][2] = p[3][2] - ((p[3][1]/p[1][1])*p[1][2]);
q[3][3] = p[3][3] - ((p[3][1]/p[1][1])*p[1][3]);
q[3][4] = p[3][4] - ((p[3][1]/p[1][1])*p[1][4]);
for(j=2; j<=3; j++){
for(k=2; k<=4; k++){
printf("q[%d][%d] = %d\n", j, k, r[j][k]);
}}
printf("\n");
printf("---------nit..nit..nit...-----------");
printf("\n");
for(j=1; j<=2; j++){
for(k=1; k<=4; k++){
r[j][k] = q[j][k];
}}
for(j=3; j<4; j++){
for(k=1; k<=2; k++){
r[j][k] = 0;
}}
r[3][3] = q[3][3]-(q[3][2]/q[2][2])*q[2][3];
r[3][4] = q[3][4]-(q[3][2]/q[2][2])*q[2][4];
for(j=1; j<=3; j++){
for(k=1; k<=4; k++){
printf("r[%d][%d] = %f ", j, k, r[j][k]);
}
printf("\n");
}
X3=r[3][4]/r[3][3];
X2=(r[2][4]-(X3*r[2][3]))/r[2][2];
X1=(r[1][4]-(X3*r[1][3])-(X2*r[1][2]))/r[1][1];
printf(" X1 = %f \n", X1);
printf(" X2 = %f \n", X2);
printf(" X3 = %f \n", X3);
printf("ingin menghitung lagi..?? (ya = 1, no=0)\n");
printf("jawaban = "); scanf("%d", &jwbn);
if(jwbn==1){
printf("\n\n");
goto ulang;
}
else {
printf("bye..");
}
system("PAUSE");
}
semoga dapat dipahami dan dimengerti ya.. :-)
kalau program sharp develop ada gak gan?
BalasHapus