ตัวอย่างโปรแกรมภาษาซี เกาส์(Gauss elimination)
ตัวบนทำตัวรับค่าทาง keyboard (ของเค้าทำแบบ fix ค่าให้ขนาดของ array)
เพื่อเก็บค่าจากโจทย์ ลงใน array
แล้วค่อยลงในโค้ทด้านล่าง
#include <stdio.h>
main(){
int n=3,i=0,j=0,k=0,rows,columns;
double t=0,sum=0;
printf("Input rows and columns:");
scanf("%d %d",&rows,&columns);
double [rows][columns]a = new double [n][n+1];
double []x = new double [n];
for(i=0;i<n+1;i++){ // อันนี้คือ การแก้งานตาม Guass emination
for(k=i+1;k<n;k++){
t = -(a[k][i]/a[i][i]);
for(j=0;j<n+1;j++){
a[k][j] = (t*a[i][j])+(a[k][j]);
}
}
}
//สร้างตัวปริ้นค่าออกทางหน้าจอตามใจ
for(i=n-1;i>=0;i--){ // อันนี้คือ หาค่า x1 , x2 , x3
for(j=i+1;j<n;j++){
sum=sum+(a[i][j]*x[j]);
}
a[i][n]=a[i][n]-result1;
result1=0;
x[i]=a[i][n]/a[i][i];
}
for(i=0;i<=2;i++){
printf("X%d = %.4f \n",i+1,x[i]); // อันนี้คือ พิมพ์ x1 , x2 , x3
}
}
X1 = -0.5000
X2 = -0.1667
X3 = 1.1667*/
ไม่มีความคิดเห็น:
แสดงความคิดเห็น