主题:矩阵对角线上的和
wangjieni11
[专家分:0] 发布于 2007-11-09 09:41:00
求一个N*N矩阵的两条对角线上的元素之和。
回复列表 (共17个回复)
沙发
he00118475 [专家分:30] 发布于 2007-11-09 11:40:00
我只会一点C语言,一起交流交流!!!
程序清单如下
#define N 5
main()
{int i,j,sum=0,t[i][j];
for(i=1;i<N;i++)
{print("请输入第%d行数字:"i+1);
for(j=1;j<N;j++)scanf("%d",&t[i][j]);}
for(i=1;i<N;i++)
for(j=1;j<N;j++)
if(i==j||i+j=N-1)
sum+=t[i][j];
printf("sum=%d\n",sum);}
有误请朋友们指出!!!!!!!!
板凳
QB小猪 [专家分:1200] 发布于 2007-11-09 18:28:00
别瞎糊搞..............C语言的跑到这来.............
程序:
cls
input n:dim a(n,n)
for i=1 to n:for j=1 to n
input a(i,j)
next j,i
for i=1 to n:s=s+a(i,i)+a(i,n+1-i):next i
end
3 楼
张扬SKY [专家分:20] 发布于 2007-11-16 21:54:00
求一个N*N矩阵的两条对角线上的和
input n
dim a(n,n)
for i= 1 to n
for j= 1 to n
input a(i,j)
next j
next i
for i= 1 to n
for j= 1 to n
if i=j or i+j=n+1 then s=s+a(i,j)
next j
next i
print s
4 楼
天尝地酒 [专家分:870] 发布于 2007-11-21 17:36:00
小猪!不用那么麻烦!
cls
input n
for i=1 to n
for j=1 to n
input a(i,j)
if i=j or i=n+1-j then s=s+a(i,j)
next j,i
print s
end
5 楼
蓝色的水晶 [专家分:90] 发布于 2007-11-29 20:31:00
针对:求一个N*N矩阵的两条对角线上的元素之和。
想问一个问题:两条对角线上的元素之和,要不要考虑两条对角线的交点问题呢?
在N*N矩阵中,
如果N是偶数时,两条对角线上的元素相加不会有重复的.
而如果N是奇数时,如定义数组a(n,n)的话,两条对角线最中间的数都是a((n+1)/2,(n+1)/2),它会被重复相加.
综上,两条对线相加,要不要考虑把加重元素的去掉呢?有时细节不能错过,希望大家回复一下!
6 楼
QB小猪 [专家分:1200] 发布于 2007-12-06 17:32:00
天尝地酒,你的有问题,你累加a(i,j)不累加a(i,n+1-j),这样不对.............
蓝色的水晶,我觉得你说的有道理,经修改程序如下:
cls
input n:dim a(n,n)
for i=1 to n:for j=1 to n
input a(i,j)
next j,i
for i=1 to n:s=s+a(i,i)
if i<>n+1-i then s=s+a(i,n+1-i)
next i
end
7 楼
hxy_anhui [专家分:320] 发布于 2009-01-29 16:25:00
CLS
INPUT M, N
DIM A(M, N)
FOR I = 1 TO M
FOR J = 1 TO N
INPUT A(I, J)
NEXT J
NEXT I
FOR I = 1 TO M
S = S + A(I, I)
NEXT I
PRINT S
END
8 楼
phile [专家分:2310] 发布于 2009-08-07 18:49:00
找规律!
DIM A(N,N)
FOR I=1 TO N
FOR J=1 TO N
INPUT A(I,J)
IF I=J OR I=N+1-J THEN S=S+A(I,J)
NEXT J,I
? S
还有楼上只是一条对角线!
9 楼
1054122 [专家分:750] 发布于 2009-08-13 14:53:00
CLS
INPUT "", n
he = 0
FOR i = 1 TO n
FOR j = 1 TO n
INPUT "", x
IF j = i OR j = n - i + 1 THEN
he = he + x
END IF
NEXT j
NEXT i
PRINT "He ="; he
END
不用数组也行
10 楼
天天和和 [专家分:1420] 发布于 2009-08-14 22:53:00
CLS
INPUT N
DIM A(N,N)
FOR I=1 TO N:FOR J=1 TO N:INPUT A(I,J):NEXT J,I
K=N
FOR I=1 TO N
S=S+A(I,I)+A(K,K)
K=K-1
NEXT I
PRINT S
END
我来回复