在 Martix 中搜索"本地最小值"

search the "local minimum" in martix

本文关键字:最小值 搜索 Martix      更新时间:2023-10-16

如果矩阵元素严格小于其邻居,则称其为局部极小值。计算指定的最小金额矩阵。

我不知道该怎么做

这是我的代码:

include <iostream>
include <time.h>
using namespace std;
void main() {
    const int row = 3, col = 4;
    int arr[row][col], count = 0;
    srand(time(NULL));
    for (int i = 0; i < row; i++) {
        for (int j = 0; j < col; j++) {
            arr[i][j] = rand() % 10;
            cout << arr[i][j] << " ";
        }
        cout << endl;
    }
    for (int i = 0; i < row; i++) {
        for (int j = 0; j < col; j++) {
            if ((arr[i][j] < arr[i][j + 1]) && 
                (arr[i][j] < arr[i + 1][j]) && 
                (arr[i][j] < arr[i + 1][j + 1])) {
                count++;
            }
        }
    }
    cout << endl << count << endl;
}

现在我需要确定极端元素(因为没有极端工作(

您有一个if,由于分号,它什么都不测试

所以count每次都会更新。

     if 
           ((arr[i][j] < arr[i][j + 1]) && 
           (arr[i][j] < arr[i + 1][j]) && 
           (arr[i][j] < arr[i + 1][j + 1])); // <= remove the semicolon
                count++;