| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 822 人关注过本帖, 1 人收藏
标题:二维数组对角线,我只会算一条,另一条想不通
只看楼主 加入收藏
神奇的地球
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2010-6-6
结帖率:100%
收藏(1)
已结贴  问题点数:0 回复次数:9 
二维数组对角线,我只会算一条,另一条想不通
如题,
a[0][0]     a[0][1]     a[0][2]
a[1][0]     a[1][1]     a[1][2]
a[2][0]     a[2][1]     a[2][2]
我只会算那条比较简单的对角线;
for(i=0;i<3;i++)
{
    s+=a[i][i];
}
另一条我想了很长时间也没想出来,感觉我的思维很死板,
这么简单的题都想不通,是不是不适合学编程啊,
请大家指教
非常谢谢大家指点
搜索更多相关主题的帖子: 对角线 
2010-09-01 15:14
TGM316750432
Rank: 2
来 自:河南周口
等 级:论坛游民
帖 子:56
专家分:97
注 册:2010-8-27
收藏
得分:5 
for(i=0,j=2;i<3;i++,j--)
   s+=a[i][j];
这样可以吧
2010-09-01 15:29
succubus
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:635
专家分:1080
注 册:2007-10-7
收藏
得分:5 
0+2=?
1+1=?
2+0=?
想出来了吗?

[url=http:///view/aDU1]/image/aDU1.gif" border="0" />[/url]
2010-09-01 16:13
jiangkunhgnc
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:76
专家分:185
注 册:2010-8-21
收藏
得分:5 
矩阵副对角线上的数据下标满足两下标和相等,可以使用
sum=0;
for(i=0,j=2;i<=2;i++,j--)  //j的值和i的范围可以根据矩阵的阶来定义
sum+=a[i][j];
来实现.
2010-09-01 16:13
神奇的地球
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2010-6-6
收藏
得分:0 
回复 3楼 succubus
感谢大虾的帮助,
可我却拓展不了思维,辜负了大虾栽培之心,
大虾给出的数据感觉像百钱买百鸡
2010-09-01 16:42
神奇的地球
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2010-6-6
收藏
得分:0 
以下是引用TGM316750432在2010-9-1 15:29:16的发言:

for(i=0,j=2;i<3;i++,j--)
   s+=a[j];
这样可以吧


原来for循环可以这么用,
谢谢指点。
2010-09-01 16:46
jiangkunhgnc
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:76
专家分:185
注 册:2010-8-21
收藏
得分:0 
for(i=0,j=2;i<3;i++,j--)
   s+=a[j];
相当于:
int i=0;
int j=2;
while(i<3)
{
   s=s+a[j];
   i=i+1;
   j=j+1;
}

2010-09-01 17:17
jiangkunhgnc
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:76
专家分:185
注 册:2010-8-21
收藏
得分:0 
敲错了:
int i=0;
int j=2;
while(i<3)
{
   s=s+a[j];
   i=i+1;
   j=j-1;
}
2010-09-01 17:17
noonrooa
Rank: 1
等 级:新手上路
帖 子:2
专家分:5
注 册:2010-9-1
收藏
得分:5 
    int num[4][4],i,j,sum1=0,sum2=0;
    printf("请输入16个数字:\n");
    for(i=0;i<4;i++)
    {
        for(j=0;j<4;j++)
        {
            scanf("%d",&num[i][j]);
        }
    }
    for(i=0;i<4;i++)
    {
        for(j=0;j<4;j++)
        {
            if(i==j)
            {
                sum1=sum1+num[i][j];
            }
            if(i+j==4)
            {
                sum2=sum2+num[i][j];
            }
        }printf("\n");
    }printf("sum1=%d,sum2=%d",sum1,sum2);
2010-09-01 21:13
qkyulove
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2011-6-9
收藏
得分:0 
for (i=0; i<3; i++)
{
    x += a[i][i];
    y += a[i+1][2-i];
}
2011-06-09 10:53
快速回复:二维数组对角线,我只会算一条,另一条想不通
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017783 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved