想实现矩阵对角线两边的数相加,但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;
}
}
} #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;
}
}
}
来个朋友,我把问题显示解决了{:10_254:}
页:
[1]