Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2529350
  • 博文数量: 308
  • 博客积分: 5547
  • 博客等级: 大校
  • 技术积分: 3782
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-24 09:47
个人简介

hello world.

文章分类

全部博文(308)

分类: C/C++

2010-08-18 15:05:01

    写一函数,将一个3*3的矩阵转置。
   

#include <stdio.h>

void transpose(int *);
int main(int argc, char *argv[])
{
    int a[3][3],*p,i;
    printf("please input 3 line number a b c:\n");
    for (i = 0 ; i < 3; i++)
    {
        scanf("%d %d %d",&a[i][0],&a[i][1],&a[i][2]);
    }
    p = &a[0][0];
    transpose(p);
    
    printf("Now,matix:\n");
    for (i = 0; i < 3; i++)
    {
        printf("%d %d %d\n",a[i][0],a[i][1],a[i][2]);
    }
    printf("\n");
    system("pause");
    return 0;
}

void transpose(int *arr)
{
     int i,j,t;
     for (i =0;i < 3; i++)
     {
         for (j = i ;j < 3; j++)
         {
             t = *(arr + 3 * i + j);
             *(arr + 3 * i + j) = *(arr + 3 * j + i);
             *(arr + 3 * j + i) = t;
         }
     }
}


阅读(3106) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~