//#include "stdafx.h"//vc++6.0加上这一行.
#include <iostream>
#include "iomanip"
#include "time.h"
using namespace std;
#define N 10
void main(void){
int s[N][N],i,j,k;
srand((unsigned)time(NULL));
for(i=0;i<N;i++){
for(j=0;j<N;j++)
cout << setw(4) << (s[i][j]=rand()%1000);
cout << endl;
}
cout << "\nThey are as follows:\n" ;
for(k=N-1,i=1;i<k;i++)
for(j=1;j<k;j++)
if(s[i][j]>=s[i-1][j] && s[i][j]>=s[i+1][j] && s[i][j]>=s[i][j-1] && s[i][j]>=s[i][j+2])
cout << setw(4) << s[i][j];
cout << endl;
}
四边都是无穷的还不会哟……
追问这个算法是一个一个试过去的么……有没有更好一点的算法?
追答数组中的数是随机的,所以必须是一个一个地“试”过去。这个代码只是把四边排除了,也算是一个小小的算法吧!