#include iostream #include fstream//即写入、读出的时候要用到这个头文件 #include string #include //标准库头文件 #define num 128//网格数据大小 using namespace std;
bool isPeak(int grid[num][num],int r, int c); void extremes(int grid[num][num], int nrows, int ncols);
int main (void){ int nrows,ncols;//行,列 int map[num][num]; string filename;//文件名 ifstream file;//建立一个文件流对象
cout<<"请输入文件名:\n"; cin>>filename; //c_str是string类的一个函数可以把string类型变量转换成char*变量open()要求的是一个char*字符串 file.open(filename.c_str()); /*EOF是baiEnd Of File 的缩写表示“文件结束”。 从输入流读取数据如果到达文件末尾遇到文件结束符eof函数值为非零值表示真如果未到文件结尾则为0表示假。 eof 函数用来判断是否到达文件结尾 fail()用来判断一个流是否“坏”掉了。如果failbit、badbit中任意一种或两种被设置则fail()返回true否则返回false 调用方式cin.fail();*/ if(file.fail()){ cout<<"打开文件出错.\n"; exit(1);
}
file>>nrows>>ncols;
if(nrows > num || ncols > num ){ cout<<"网格太大,调整程序.\n"; exit(1);
    }     //从数据文件读数据到数组     for(int i0; i
    }     //判断并打印峰值位置     for(int i1; i                              }         }     }          extremes(map, nrows, ncols);     //关闭文件     file.close();     system("pause");               return    0; } //grid 网格 bool isPeak(int grid[num][num],int r, int c){     //八个位置峰点的判断     if((grid[r][c] > grid[r-1][c])1][c])1]) 1][c  1]) 1]) 1][c -1])){             return true;     }else{         return false;     }  } void extremes(int grid[num][num], int row, int column){     int max  grid[0][0];     int min  grid[0][0];     for (int r  0; r              if (max 
