ljm002 发表于 2022-4-13 11:29:36

想实现矩阵对角线两边的数相加,但debug出对角线的数值也相加了,想教if的条件

#include<stdio.h>
void fun(int (*t),int n);
void main()
{
        int a={1,2,3,4,5,6,7,8,9};
        int i,j;
        for(i=0;i<3;i++)
        {
                for(j=0;j<3;j++)
                {
                        printf("%3d",a);
                }
                printf("\n");
        }
        printf("变换后的矩阵:\n");
        fun(a,3);
for(i=0;i<3;i++)
        {
                for(j=0;j<3;j++)
                {
                        printf("%3d",a);
                }
                printf("\n");
    }
}
void fun(int (*t),int n)
{
       int i,j;
       for(i=0;i<n;i++)
       {
               for(j=i;j<n;j++)
               {
                       *(*(t+j)+i)+=*(*(t+i)+j);
                       if()//////////////////////////////////////////////
                       *(*(t+i)+j)=0;
               }
       }
}

ljm002 发表于 2022-4-13 11:59:59

#include<stdio.h>
void fun(int (*t),int n);
void main()
{
        int a={1,2,3,4,5,6,7,8,9};
        int i,j;
        for(i=0;i<3;i++)
        {
                for(j=0;j<3;j++)
                {
                        printf("%3d",a);
                }
                printf("\n");
        }
        printf("变换后的矩阵:\n");
        fun(a,3);
for(i=0;i<3;i++)
        {
                for(j=0;j<3;j++)
                {
                        printf("%3d",a);
                }
                printf("\n");
    }
}
void fun(int (*t),int n)
{
       int i,j;
       for(i=0;i<n;i++)
       {
               for(j=i;j<n;j++)
               {
                       if(i!=j)
                       *(*(t+j)+i)+=*(*(t+i)+j);
                       if(i<j)
                     *(*(t+i)+j)=0;
                       
               }
       }
}

ljm002 发表于 2022-4-13 12:05:46

来个朋友,我把问题显示解决了{:10_254:}
页: [1]
查看完整版本: 想实现矩阵对角线两边的数相加,但debug出对角线的数值也相加了,想教if的条件