如何利用随机函数 rand() 产生一个 5 × 5 的二维数组 array?

利用随机函数 rand() 产生一个 5 × 5 的二维数组 array ,且元素值不大于 10 ;找出该数组中的鞍点,即该位置上的元素在该行上最大,在该列上最小。也可能没有鞍点。注:随机函数 rand() 在头文件 stdlib.h 中。

皈依舞
浏览 312回答 2
2回答

慕妹3146593

//呃……你还跑到这里问来着……#include<iostream>#include<cstdlib>#include<ctime>using namespace std;int main(){struct sl{int num;int p;int q;};int t=0;srand(unsigned (time(NULL)));int arrary[5][5];for(int i=0;i<5;i++)for(int j=0;j<5;j++)arrary[i][j]=rand()%11;cout<<"随机生成的5*5的数列为"<<endl;cout<<endl;for(i=0;i<5;i++){for(int j=0;j<5;j++){cout<<arrary[i][j]<<"\t";if(j==4){cout<<endl;cout<<endl;}}}//取每一行最大数为big,每一列最小数为small。sl big[5];sl small[5];for(i=0;i<5;i++){big[i].num=0;small[i].num=11;}for(i=0;i<5;i++){for(int j=0;j<5;j++){if(big[i].num<arrary[i][j]){big[i].num=arrary[i][j];big[i].p=i+1;big[i].q=j+1;}if(small[i].num>arrary[j][i]){small[i].num=arrary[j][i];small[i].p=j+1;small[i].q=i+1;}}}int s;for(i=0;i<5;i++){for(int j=0;j<5;j++){if((small[i].p==big[j].p)&&(small[i].q==big[j].q))cout<<"第"<<small[i].p<<"行"<<"\t"<<"第"<<small[i].q<<"列"<<endl;elses=1;}}if(s)cout<<"不存在鞍点!"<<endl;cout<<endl;cout<<"每行最大值"<<"\t"<<"所在行数"<<"\t"<<"所在列数"<<endl;for(i=0;i<5;i++){cout<<big[i].num<<"\t\t"<<big[i].p<<"\t\t"<<big[i].q;cout<<endl;}cout<<"每列最小值"<<"\t"<<"所在行数"<<"\t"<<"所在列数"<<endl;for(i=0;i<5;i++){cout<<small[i].num<<"\t\t"<<small[i].p<<"\t\t"<<small[i].q;cout<<endl;}return 0;}

慕侠2389804

给,已经编译运行确认:#include<conio.h>#include <stdlib.h>#include <time.h>#include <iostream>using namespace std;#define N 5int main(){int i,j;int row,colum,flag=1,max_colum,max,dummy_row;int array[N][N]={0};srand((unsigned)time(NULL));for(i=0;i<N;i++)for(j=0;j<N;j++)array[i][j]=rand();cout<<"The Array is: "<<endl;for(i=0;i<N;i++){for(j=0;j<N;j++)cout<<array[i][j]<<'\t';cout<<endl;}for(row=0;row<N;row++){max=array[row][0];max_colum=0;flag=1;for(colum=0;colum<N;colum++){if(max<array[row][colum]){max=array[row][colum];max_colum=colum;}}for(dummy_row=0;dummy_row<N;dummy_row++)if(max>array[dummy_row][max_colum]){flag=0;}if(flag){cout<<"鞍点为"<<max<<",在"<<row+1<<"行"<<max_colum+1<<"列"<<endl;break;}}if(flag==0) cout<<"此矩阵无鞍点"<<endl;getch();return 1;}
打开App,查看更多内容
随时随地看视频慕课网APP