c++程序设计

[复制链接]
查看11 | 回复2 | 2010-5-15 20:15:45 | 显示全部楼层 |阅读模式
利用指针数组实现矩阵转置BT=A.其中矩阵转置函数为通用的,在主函数中对矩阵A进行初始化,并显示输出矩阵A与转置矩阵B
我是新手~~想用循环给一个5行4列矩阵赋值~然后调用转置函数将转置矩阵输出~~
有一个查不出错但是运行处乱码的程序如下~~:
#include
#include
using namespace std;
void p(int *a[])
{int i,j;
for(i=0;i<5;i=i+1)
{for(j=0;j<4;j=j+1) cout<<setw(5)<<a[j];
cout<<endl;
}
return;
}
int main()
{int a[5][4];
int i,j;
int *s[5];
for(i=0;i<5;i=i+1)s=&a[0];
for(i=0;i<5;i=i+1)
{for(j=0;j<4;j=j+1) cout<<setw(5)<<a[j];
cout<<endl;
}
p(s);
return 0;
}
请大家教教我怎么改~~辛苦各位啦~

回复

使用道具 举报

千问 | 2010-5-15 20:15:45 | 显示全部楼层
#include #include using namespace std;void p(int *a[]){ cout << "The thanspose is:" << endl;// int i,j; for( i=0; i<4; i++)//这个5和4要换过来,不然输出还是5行4列 {for( j=0; j<5; j++)// cout<<setw(5)<<a[ j ][ i ];//切记这里的i和j一定是换过来的,因为是转置cout<<endl; } //return;省略比较好}int main(){ int a
回复

使用道具 举报

千问 | 2010-5-15 20:15:45 | 显示全部楼层
for(i=0;i<5;i=i+1)s=&a[0];这句话有问题的你这样是把a[0]的地址给了s你运行出乱码就是因为你的a[5][4]数组还没初始化 所以输出的肯定是乱码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行