Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Can';我搞不懂printf语句_C_Loops_Matrix_Printf - Fatal编程技术网

Can';我搞不懂printf语句

Can';我搞不懂printf语句,c,loops,matrix,printf,C,Loops,Matrix,Printf,高斯乔丹3x4 用户输入12个值 此代码的目的是使用高斯-乔丹方法将矩阵简化为 简化梯队形式 所以基本上我正在尝试编写和调试一个gauss-jordan算法,但是我被printf语句的去向所困扰。我想在运行输出中标记我的步骤1-12,但运行此操作时,一切似乎都不合适: [![在此处输入图像描述][1][1] *我还特意在代码中省略了步骤1、4、9,因为它们与我正在应用算法的情况无关,抱歉,如果这会造成混乱 谢谢你的帮助和建议谢谢 #include <stdio.h> int mai

高斯乔丹3x4

用户输入12个值

此代码的目的是使用高斯-乔丹方法将矩阵简化为 简化梯队形式

所以基本上我正在尝试编写和调试一个gauss-jordan算法,但是我被printf语句的去向所困扰。我想在运行输出中标记我的步骤1-12,但运行此操作时,一切似乎都不合适:

[![在此处输入图像描述][1][1]

*我还特意在代码中省略了步骤1、4、9,因为它们与我正在应用算法的情况无关,抱歉,如果这会造成混乱

谢谢你的帮助和建议谢谢

#include <stdio.h>

int main(void) {

        int i,j,z,m;
        //coefficent array
        double a[3][3];
        //constant value array
        double b[3];
        //augmented array
        double c[3][4];
        //solution array
        double x[3];

        //prompt user input and store coefficients and constants in seperate matrices
        printf("Input coefficients of equations\n");
        for (i=0; i<3; i++){
                for (j=0; j<3; j++){

                        scanf("%lf", &a[i][j]);
                }
        }

        printf("Input constant values\n");
        for (i=0; i<3; i++){

                scanf("%lf",&b[i]);
        }

        //create augmented matrix
        for (i=0; i<3; i++){

                for(j=0; j<3; j++){

                        c[i][j]=a[i][j];
                }
        }

        for (i=0; i<3; i++){

                c[i][3]=b[i];
        }

        printf("Augmented matrix:\n");

        //print loop
        for (i=0; i<3; i++){

                for (j=0; j<4; j++){

                        printf("%.2lf\t",c[i][j]);

                }
        printf("\n");
        }

        /*z=0 step 2,3,4
        z=1 step 6,7,8
        z=2 step 10,11,12


        if m!=z, do steps 3,4  7,8  11,12
        if m==z, do steps 2,6,10

        */

        for (z=0; z<3; z++){

                for (m=0; m<3; m++){

                                if(m==z){
                                        //STEP 2,6,10
                                        double step2 = c[z][z];
                                        for (j=0; j<4; j++){

                                        c[z][j]=c[z][j]/step2;
                                        }


                                        if(z==0){
                                        printf("Step 2:\n");
                                        }
                                        if(z==1){
                                        printf("Step 6:\n");
                                        }
                                        if(z==2){
                                        printf("Step 10:\n");
                                        }

                                         //print loop
                                        for (i=0; i<3; i++){

                                                for (j=0; j<4; j++){

                                                        printf("%.2lf\t",c[i][j]);

                                                }
                                                printf("\n");
                                        }

                                }

                                if(m!=z){

                                        //STEP 3,7,11
                                        double step3 = c[m][z];
                                        for (j=0; j<4; j++){

                                        c[m][j]=c[m][j]-(step3*c[z][j]);
                                        }


                                        if(z==0&&m==1){
                                        printf("Step 3:\n");
                                        }
                                        if(z==1&&m==2){
                                        printf("Step 7:\n");
                                        }
                                        if(z==2&&m==1){
                                        printf("Step 11:\n");
                                        }

                                        //print loop
                                        for (i=0; i<3; i++){

                                                 for (j=0; j<4; j++){

                                                         printf("%.2lf\t",c[i][j]);

                                                 }
                                                 printf("\n");
                                        }


                                        //STEP 4,8,12
                                        double step4= c[m][z];
                                        for (j=0; j<4; j++){

                                        c[m][j]=c[m][j]-(step4*c[z][j]);
                                        }


                                        if(z==0&&m==2){
                                        printf("Step 4:\n");
                                        }
                                        if(z==1&&m==0){
                                        printf("Step 8:\n");
                                        }
                                        if(z==2&&m==0){
                                        printf("Step 12:\n");
                                        }

                                        //print loop
                                        for (i=0; i<3; i++){

                                                for (j=0; j<4; j++){

                                                        printf("%.2lf\t",c[i][j]);

                                                }
                                                printf("\n");
                                        }
                                }
                }

        }

        printf("Solution:\n");

        for (i=0; i<3; i++){
                x[i]= c[i][3];
        }

        for (j=1; j<=3; j++){
                printf("x[%i]=%.2lf\n",j,x[j-1]);
        }
return 0;
}


  [1]: https://i.stack.imgur.com/Z0ZvZ.png
#包括
内部主(空){
int i,j,z,m;
//系数阵
双a[3][3];
//定值数组
双b[3];
//扩充阵列
双c[3][4];
//溶液阵列
双x[3];
//提示用户输入并将系数和常数存储在单独的矩阵中
printf(“方程的输入系数”);

对于(i=0;i)您的图像链接似乎无效。我已努力将其正确发布,但找不到该图像。