| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 402 人关注过本帖
标题:各位大虾来看看,关于转置3*3矩阵的。不知道哪里出错了
只看楼主 加入收藏
little樟
Rank: 1
等 级:新手上路
帖 子:14
专家分:7
注 册:2010-3-25
结帖率:50%
收藏
已结贴  问题点数:10 回复次数:2 
各位大虾来看看,关于转置3*3矩阵的。不知道哪里出错了
#include <stdio.h>
void main(){
    int a[3][3];
    int i,j;
    void zz(int *p);
    printf("请输入一个3*3整形矩阵:\n");
    for(i=0;i<3;i++){
        for(j=0;j<3;j++){
            scanf("%d",&a[i][j]);}
    }
    printf("\n原矩阵:\n");
    for(i=0;i<3;i++){
        for(j=0;j<3;j++){
            printf("%d ",a[i][j]);}
        printf("\n");
    }
    printf("原矩阵转置:\n");
    zz(a[0]);
    for(i=0;i<3;i++){
        for(j=0;j<3;j++){
            printf("%d ",a[i][j]);}
        printf("\n");
    }
   
}

void zz(int *p){
    int i,j,t;
    for(i=1;i<3;i++){
        for(j=i;j<3;j++){
            t=*(p+i*3+j);
            *(p+i*3+j)=*(p+j*3+i);
            *(p+j*3+i)=t;}
    }

}
搜索更多相关主题的帖子: 矩阵 
2010-04-27 14:22
little樟
Rank: 1
等 级:新手上路
帖 子:14
专家分:7
注 册:2010-3-25
收藏
得分:0 
3...................
2010-04-27 15:16
NOMIPS
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:86
专家分:537
注 册:2010-3-31
收藏
得分:10 
void zz(int p[3][3]);
调用时zz(a);
转置函数改为:
void zz(int p[3][3]){
    int i,j,t;
 for(i=0;i<3-1;i++)
     for(j=i+1;j<3;j++)
    {
            t=*(*(p+i)+j);
            *(*(p+i)+j)=*(*(p+j)+i);
            *(*(p+j)+i)=t;
    }
}

如果4*4的矩阵,则将“3”改为4即可~
2010-04-27 16:18
快速回复:各位大虾来看看,关于转置3*3矩阵的。不知道哪里出错了
数据加载中...
 
   



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

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