指针实现4x4的矩阵转置??

来源:百度知道 编辑:UC知道 时间:2024/05/28 18:49:48
有高人在吗?能帮个忙不?谢谢!

这是整个源程序,在visual studio 2008,win7 build.7100环境下调试通过

// 临时.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <stdlib.h>
#include <iostream>
#include <stdio.h>
using namespace std;

void A(int *p1,int *p2,int m,int n)
{
int i,j;
for(i=0;i<m;i++)
for(j=0;j<n;j++)
*(p2+4*j+i)=*(p1+4*i+j);

}
void main()
{
int i,j,b[4][4],a[4][4]={{1,3,5,6},{7,9,11,10},{13,15,19,14},{89,5,48,25}},*p1,*p2;
p1=&a[0][0];
p2=&b[0][0];
A(p1,p2,4,4);
for(i=0;i<=3;i++)
{
for(j=0;j<=3;j++)
printf("%5d",a[i][j]);
printf("\n");
}
printf("\n\n");
for(i=0;i<=3;i++)
{
for(j=0;j<=3;j++)
printf("%5d",b[i][j]);
printf("\n");
}

}