當前位置:編程學習大全網 - 編程語言 - C++ 編程問題:利用隨機函數 rand() 產生壹個 5 × 5 的二維數組 array ,找出該數組中的鞍點.

C++ 編程問題:利用隨機函數 rand() 產生壹個 5 × 5 的二維數組 array ,找出該數組中的鞍點.

//呃……妳還跑到這裏問來著……

#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;

else

s=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;

}

  • 上一篇:高中生學習編程的推薦書籍。
  • 下一篇:戶口本號碼幾位數
  • copyright 2024編程學習大全網