posts - 137,comments - 0,views - 40595
复制代码
复制代码
#include <iostream>
#include <windows.h>
#include <fstream>

#define N 64

using namespace std;

bool isPeak(int grid[][N], int r, int c);

int main() {
    int nrows, ncols;
    int map[N][N];
    string filename;
    ifstream file;

    cout << "请输入文件名:\n";
    cin >> filename;
    file.open(filename.c_str());
    if (file.fail()) {
        cout << "打开输入文件出错.\n";
        exit(1);
    }

    file >> nrows >> ncols;

    if (nrows > N || ncols > N) {
        cout << "网格太大,调整程序.\n";
        exit(1);
    }

    //从数据文件读数据到数组
    for (int i = 0; i < nrows; i++) {
        for (int j = 0; j < ncols; j++) {
            file >> map[i][j];
        }
    }

    //判断并打印峰值位置
    for (int i = 1; i < nrows - 1; i++) {
        for (int j = 1; j < ncols - 1; j++) {
            if (isPeak(map, i, j)) {
                cout << "峰值出现在行:" << i << "列:" << j << endl;
            }
        }
    }

    //关闭文件
    file.close();

    //结束程序
    return 0;
}

bool isPeak(int grid[][N], int i, int j) {
    if ((grid[i - 1][j] < grid[i][j]) &&
        (grid[i + 1][j] < grid[i][j]) &&
        (grid[i][j - 1] < grid[i][j]) &&
        (grid[i][j + 1] < grid[i][j]))
        return true;
    else
        return false;
}
复制代码

复制代码
posted on   wshidaboss  阅读(35)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示