| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1812 人关注过本帖, 1 人收藏
标题:为什么没人回答啊,急死我了。一个关于用指针解决矩阵转置的问题
只看楼主 加入收藏
zylwzg
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2007-11-4
结帖率:100%
收藏(1)
 问题点数:0 回复次数:6 
为什么没人回答啊,急死我了。一个关于用指针解决矩阵转置的问题
输入一个3*3矩阵,将该矩阵转置,并输出转置后的矩阵。(用指针操作二维数组中的元素)

[[italic] 本帖最后由 zylwzg 于 2007-11-26 19:45 编辑 [/italic]]
搜索更多相关主题的帖子: 矩阵 指针 解决 元素 置后 
2007-11-26 18:22
木北北
Rank: 1
等 级:新手上路
帖 子:79
专家分:0
注 册:2007-11-24
收藏
得分:0 
#include "stdio.h"
void move(int *pointer)
{
 int i,j,k;
 for(i=0;i<3;i++)
 {
  for(j=i;j<3;j++)
  {
   k=*(pointer+3*i+j);
   *(pointer+3*i+j)=*(pointer+3*j+i);
   *(pointer+3*j+i)=k;
  }
 }
}
int main(void)
{
 int a[3][3],*p,i;
 printf("请输入数:\n");  //数于数之间用逗号分开,每输入三个按回车!
 for(i=0;i<3;i++)
 {
  scanf("%d,%d,%d",&a[i][0],&a[i][1],&a[i][2]);
 }
 p=&a[0][0];
 move(p);
 printf("交换完的数为:\n");
 for(i=0;i<3;i++)
 {
  printf("%d,%d,%d\n",a[i][0],a[i][1],a[i][2]);
 }
 getchar();
 return(0);
}
2007-11-26 20:06
dousao
Rank: 2
等 级:论坛游民
帖 子:228
专家分:58
注 册:2007-11-8
收藏
得分:0 
最主要就是move函数中的两个fort循环吧.呵呵.分析题目就知道了.
2007-11-26 20:09
nianshi
Rank: 1
等 级:新手上路
帖 子:199
专家分:0
注 册:2007-11-7
收藏
得分:0 
#include "stdio.h"
void ZhuanZhi(int (*p)[3]);
void main()
{
 int a[3][3],i,j;
 for(i=0;i<3;i++)
 {
  for(j=0;j<3;j++)
  {
   scanf("%d",&a[i][j]);
  }
 }
 printf("before zhuanzhi:\n");
 for(i=0;i<3;i++)
 {
  for(j=0;j<3;j++)
  {
   printf("%d",a[i][j]);
  }
  printf("\n");
 }
 ZhuanZhi(a);
 printf("after zhuanzhi:\n");
 for(i=0;i<3;i++)
 {
  for(j=0;j<3;j++)
  {
   printf("%d",a[i][j]);
  }
  printf("\n");
 }
}
void ZhuanZhi(int (*p)[3])
{
 int i,j;
 for(i=0;i<3;i++)
 {
  for(j=0;j<=i;j++)
  {
   int t=p[i][j]; p[i][j]=p[j][i];p[j][i]=t;
  }
 }
}

行至水穷处 坐看去起时
C语言QQ群1:51871776  群2:26313099  群3:47145282
2007-11-26 20:53
zylwzg
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2007-11-4
收藏
得分:0 
谢谢你们了
呵呵 这下我可以多多长知识了

感谢大家的支持和帮助.
2007-11-27 08:07
lff642
Rank: 1
等 级:新手上路
帖 子:91
专家分:0
注 册:2007-11-28
收藏
得分:0 
2007-11-29 16:29
lusan168
Rank: 1
来 自:重庆
等 级:新手上路
帖 子:50
专家分:0
注 册:2007-11-17
收藏
得分:0 
我这样做的为什么不对啊,帮我分析下
#include<stdio.h>

void main()
{
    int a[3][3],i,j;
    for (i=0;i<3;i++)
    {
        for(j=0;j<3;j++)
    {
        scanf("%d",&a[i][j]);
    }
    }


    printf("转换前为\n");
    for (i=0;i<3;i++)
     {
    for(j=0;j<3;j++)
    {
        printf("%d ",a[i][j]);
    }
    printf("\n");
     }
   
    for (i=0;i<3;i++)
     {
    for(j=0;j<3;j++)
    {
        int t=a[i][j];
        a[i][j]=a[j][i];
        a[j][i]=t;

    }

     }



    printf("转换后为:");
   
    for (i=0;i<3;i++)
    {
   for(j=0;j<3;j++)
    {
     printf("%d ",a[i][j]);
    }
    printf("\n");
    }

}
2007-11-29 21:58
快速回复:为什么没人回答啊,急死我了。一个关于用指针解决矩阵转置的问题
数据加载中...
 
   



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

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