วันอาทิตย์ที่ 7 สิงหาคม พ.ศ. 2554

โค๊ด ตัวอย่าง ภาษาซี(c) ตัวอย่างโปรแกรมภาษาซี เกาส์(Gauss elimination)

โค๊ด ตัวอย่าง ภาษาซี(c) 
ตัวอย่างโปรแกรมภาษาซี เกาส์(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*/

ลองหัดเขียนเล่นๆดูครับ มีประโยชน์มาก เกาส์(Gauss elimination)



ไม่มีความคิดเห็น:

แสดงความคิดเห็น