首页 > 解决方案 > 如何打印矩阵中重复的最大元素的位置?

问题描述

我正在尝试打印矩阵中最后一列的最大元素的位置。但是当用户输入这样的重复元素时会出现一个问题 -

Matrix A =
|1  2  1|
|2  1  2|
|4  0  3|
|1  1  2|
|2  2  3|

而不是这样输入

Matrix B =
|1  2  1|
|2  1  2|
|4  0  3|
|1  1  0|
|2  2  1|

这里,3 是矩阵 A 中最后一列的最大元素。

如果我运行这段代码,它只会打印位置 (2,2)

    int index = DP[0][c - 1];
    int indexRow=0;
    for (int row = 1; row < r; row++)
    {
        if (DP[row][c - 1] > index)
        {
            index = DP[row][c - 1];
            indexRow = row;
        }
    }
    printf("\n\nIt is in (%d,%d) cell\n\n", indexRow, c-1);

但我也希望打印 (4,2) 位置

或重复最大元素的位置,如果插入了 Matrix A 之类的东西。

任何帮助或想法将不胜感激。

标签: cmatrixmultidimensional-arrayprintfdynamic-programming

解决方案


推荐阅读