You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

查找NxM矩阵中-1最后出现位置的C++代码错误求解

代码问题排查及修正

核心错误梳理

  • 匹配逻辑错误:代码中判断条件为if (matrix[i][j] < 0),会把所有负数都识别为目标值记录,而题目要求仅匹配数值为*-1*的元素,这是返回错误答案的核心原因。
  • 变量类型不合理:存储坐标的x、y使用了double类型,整数坐标不需要浮点存储,还可能出现输出异常,直接改用int类型即可。
  • 使用非标准语法:C++标准不支持int matrix[row][col]这种动态长度的变长数组定义,属于C语言扩展特性,兼容性差。由于题目限制N、M最大为100,直接定义固定大小的二维数组即可。
  • 冗余头文件:代码引入了<climits>头文件但未使用,可以直接删除。

修正后的完整代码

#include <iostream>
using namespace std;

int main () {
    int row, col;
    int x = 0, y = 0;
    cin >> row >> col;
    int matrix[105][105];
    for (int i = 0; i < row; i++) {
        for (int j = 0; j < col; j++) {
            cin >> matrix[i][j];
            if (matrix[i][j] == -1) {
                x = i + 1;
                y = j + 1;
            }
        }
    }
    if (x == 0 && y == 0) {
        x = -1;
        y = -1;
    }
    cout << x << " " << y;
    return 0;
}

内容的提问来源于stack exchange,提问作者Dddddd

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 21:36:04