| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 480 人关注过本帖, 1 人收藏
标题:新手上路,各位帮我看看这到底哪出错了。
只看楼主 加入收藏
白小乙
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2012-10-24
结帖率:100%
收藏(1)
已结贴  问题点数:10 回复次数:4 
新手上路,各位帮我看看这到底哪出错了。
#include<iostream>
using namespace std;
#include<stdlib.h>            //包含函数srand的头文件
#include<time.h>              //包含函数time的头文件
#define M 5                     //定义两个常量
#define N 5
int a[M][N],c[M][N];           //定义二维数组a、c为全局变量,用来存放矩阵
void trans(int b[M][N]);       //函数声明
void main()
{int i,j;
srand((unsigned)time(NULL));    //产生一个时间
for(i=0;i<M;i++)                //随机产生数组a中每一个元素的值
for(j=0;j<N;j++)
*(*(a+i)+j)=rand()%100;          //将一个0~99之间的随机数赋予当前元素
cout<<"自动生成矩阵为: \n";
for(i=0;i<M;i++)                //输出自动生成5*5阶矩阵
{for(j=0;j<N;j++)
cout<<'\t'<<*(*(a+i)=j);
cout<<endl;
}
trans(a);                  //调用求转置矩阵的函数
cout<<"转置矩阵为: \n";  
for(i=0;i<M;i++)             //输出转置后的矩阵        
{for(j=0;j<N;j++)
cout<<'\t'<<*(*(c+i)+j);
cout<<endl;
}
}
viod trans(int b[M][N])         //定义求转置矩阵的函数
{int i,j;
int(*p)[M];                      // 定义指向一维数组的指针P
p=c;                                     // 将数组c的首地址赋值给P
for(i=0;i<M;i++)                        //实现矩阵转置
for(j=0;j<N;j++)
*(*(p+i)+j)=*(*(b+j)+i);
}
搜索更多相关主题的帖子: include 元素 
2012-10-24 15:37
白小乙
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2012-10-24
收藏
得分:0 
08写,和6.0不同,
2012-10-24 15:42
白小乙
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2012-10-24
收藏
得分:0 
问错地方了还是?没人理我
2012-10-24 16:13
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:10 
你写天书呀

程序代码:
#include <ctime>
#include <iostream>
using namespace std;

const size_t M = 4;
const size_t N = 5;
void trans( const int a[M][N], int b[N][M] );

int main()
{
    int a[M][N];
    srand( (unsigned)time(NULL) );
    for( size_t i=0; i<M; ++i )
        for( size_t j=0; j<N; ++j )
            a[i][j] = rand()%100;

    cout<<"自动生成矩阵为: \n";
    for( size_t i=0; i<M; ++i )
    {
        for( size_t j=0; j<N; ++j )
            cout << '\t' << a[i][j];
        cout << '\n';
    }

    int b[N][M];
    trans( a, b );

    cout<<"转置矩阵为: \n"; 

    for( size_t i=0; i<N; ++i )
    {
        for( size_t j=0; j<M; ++j )
            cout << '\t' << b[i][j];
        cout << '\n';
    }

    return 0;
}

void trans( const int a[M][N], int b[N][M] ) // 矩阵转置
{
    for( size_t i=0; i<M; ++i )
        for( size_t j=0; j<N; ++j )
            b[j][i] = a[i][j];
}

2012-10-24 16:13
白小乙
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2012-10-24
收藏
得分:0 
有点懂了,感谢版主,不好意思,新手第一次来论坛,不会,版主见谅。
2012-10-24 16:29
快速回复:新手上路,各位帮我看看这到底哪出错了。
数据加载中...
 
   



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

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