| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5261 人关注过本帖
标题:求解一下,利用指针方法编程,求4×4矩阵两个对角线元素的和。
只看楼主 加入收藏
枯叶蝴蝶
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:48
专家分:133
注 册:2011-6-17
结帖率:100%
收藏
已结贴  问题点数:5 回复次数:5 
求解一下,利用指针方法编程,求4×4矩阵两个对角线元素的和。
不上感激
搜索更多相关主题的帖子: 对角线 元素 
2011-06-19 11:47
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:2 
程序代码:
root@~ #cat duijiao.c
#include <stdio.h>

int main (void) {

        int sa=0,sb=0,i,j;
        int a[4][4];
        for(i=0;i<4;i++) {
                for(j=0;j<4;j++) {
                        scanf("%i",&a[i][j]);
                }
        }
//
        for(i=0,j=0;i<4;i++,j++)
                sa+=a[i][j];

//
        for(i=0,j=3;i<4;i++,j--)
                sb+=a[i][j];

        printf("Left diagonal sum=%i Right diagonal sum=%i\n",sa,sb);

        return 0;

}

root@~ #./duijiao
1 2 3 4
1 2 3 4
1 2 3 4
9 9 9 9
Left diagonal sum=15 Right diagonal sum=18
root@~ #./duijiao
1 2 3 4
5 6 7 8
1 2 3 4
5 6 7 8
Left diagonal sum=18 Right diagonal sum=18
root@~ #

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-06-19 12:19
枯叶蝴蝶
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:48
专家分:133
注 册:2011-6-17
收藏
得分:0 
回复 2楼 ansic
问一下,我用Win-TC怎么调试不出来,一调试就出现一大串错误
2011-06-19 13:13
voidx
Rank: 12Rank: 12Rank: 12
来 自:邯郸
等 级:火箭侠
帖 子:1250
专家分:3538
注 册:2011-4-7
收藏
得分:2 
程序代码:
#include <stdio.h>

int main (void) {
    int s = 0, i;
    int a[4][4] = {0}, * p;
    for (p = &a[0][0], i = 0; i < 16; p++, i++) {
        scanf("%d", p);
    }
    for (p = &a[0][0], i = 0; i < 4; , p += 5, i++) {
        s += *p;
    }
    printf("The sum of elements on diagonal top-left to bottom-right is: %d", s);
    for (p = &a[0][3], i = 0; i < 4; , p += 3, i++) {
        s += *p;
    }
    printf("The sum of elements on diagonal top-right to bottom-left is: %d", s);
    return 0;
}
2011-06-19 13:48
虾B写
Rank: 8Rank: 8
来 自:湖北
等 级:蝙蝠侠
威 望:3
帖 子:395
专家分:922
注 册:2009-10-1
收藏
得分:2 
为什么要用2个FOR,
[i][i]和[i][3-i]就行了   

白娘故意下雨骗许仙的伞。祝英台十八里相送时装疯卖傻调戏梁山伯。七仙女挡住了董永的去路。牛郎趁织女洗澡时拿走了她的衣服。。。这些故事告诉我们;伟大爱情的开始,总归的有一个要先耍流氓!
2011-06-19 14:32
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:0 
以下是引用voidx在2011-6-19 13:48:35的发言:

#include <stdio.h>

int main (void) {
    int s = 0, i;
    int a[4][4] = {0}, * p;
    for (p = &a[0][0], i = 0; i < 16; p++, i++) {
        scanf("%d", p);
    }
    for (p = &a[0][0], i = 0; i < 4; , p += 5, i++) {
        s += *p;
    }
    printf("The sum of elements on diagonal top-left to bottom-right is: %d", s);
    for (p = &a[0][3], i = 0; i < 4; , p += 3, i++) {
        s += *p;
    }
    printf("The sum of elements on diagonal top-right to bottom-left is: %d", s);
    return 0;
}

学习!!!

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-06-19 17:12
快速回复:求解一下,利用指针方法编程,求4×4矩阵两个对角线元素的和。
数据加载中...
 
   



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

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