
#include<iostream>
#include <ctime>
using namespace std;
typedef struct A{
int i;
int j;
int **k;
}max;
void init(int q ,int w, A &T)
{
T.i=q;
T.j=w;
int i,n=0;
T.k=(int**)malloc(w*sizeof(int*));//*申请空间*//
for(i=0;i<w;i++)
{
T.k[i]=(int*)malloc(q*sizeof(int));
}
for(i=0;i<q;i++)
{
for(n=0;n<w;n++)
{
T.k[i][n]=rand()%100;
}
}
}
void printf( int q, int w, A &T)
{
int a,b,i=0;
for(a=0; a<T.i; a++)
{
for(b=0;b<T.j;b++)
{
cout<<T.k[a][b]<<"\t";
}
cout<<endl;
}
}
void main()
{
srand(time(NULL));
A max;
int q,w,e,r;
cout<<"行数"<<endl;
cin>>q;
cout<<"列数"<<endl;
cin>>w;
init (q,w,max);
printf(q,w,max);
}
q是行数,w是列数,我想输入行数,列数然后输出随机数矩阵,编译时没问题,但是,如果输入的q大于w时就出问题,q小于w就没事,应该是init这出了问题,但是就是不知道哪里出问题。