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

二维数组首个正数定位及输出格式异常问题求助

二维数组问题修复:行列展示与首个正数定位

问题1:数组输出未按行列展示

原因

原代码遍历输出数组时,仅循环输出所有元素,未在每一行元素输出完成后添加换行操作,导致所有元素挤在一行。

修复方法

在每一行(外层i循环)的末尾添加cout << endl;,让每一行元素输出后自动换行。


问题2:找到首个正数后未停止,输出最后一个符合条件的行号

原因

  1. 内层j循环中找到正数后,break仅跳出当前内层循环,外层i循环会继续遍历后续行,后续行的正数会覆盖之前的rowNumber值;
  2. 未设置终止整个遍历的逻辑,程序会遍历完所有元素才停止;
  3. 未处理数组中无正数的情况,rowNumber可能因未初始化导致未定义行为。

修复方法

  • 添加布尔标志位标记是否已找到首个正数;
  • 找到正数后立即设置标志位为true,终止内层循环;
  • 外层循环每次迭代前检查标志位,若已找到则直接跳出外层循环;
  • 初始化rowNumber为特殊值,用于判断是否找到正数。

修复后的完整代码

#include<iostream>
#include<iomanip>
using namespace std;

int main()
{
    int n, m;
    cout << "Enter row count ";
    cin >> n;
    cout << "Enter column count ";
    cin >> m;

    float **arr = new float*[n];
    for (int i = 0; i < n; i++)
        arr[i] = new float[m];
    
    for (int i = 0; i < n; i++)
        for (int j = 0; j < m; j++)
        {
            cout << "Enter elements [" << i << "][" << j << "]: ";
            cin >> arr[i][j];           
        }

    // 按行列格式输出数组
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < m; j++) 
        {
            cout << setw(4) << arr[i][j] << " ";
        }
        cout << endl; // 每一行输出完成后换行
    }
     
    int rowNumber = -1;
    bool found = false;
    // 遍历找到首个正数后立即终止
    for (int i = 0; i < n && !found; i++)
    {
        for (int j = 0; j < m && !found; j++) 
        {
            if (arr[i][j] > 0) // 严格正数,若需包含0可改为>=0
            {
                rowNumber = i;
                found = true;
            }
        }
    }

    if (rowNumber != -1)
        cout << "First positive element is in row " << rowNumber << endl;
    else
        cout << "No positive elements found in the array." << endl;

    // 释放动态分配的内存,避免泄漏
    for (int i = 0; i < n; i++)
        delete[] arr[i];
    delete[] arr;

    return 0;
}

额外说明

  • 移除了无实际作用的srand(time(NULL));(原代码为手动输入元素,随机种子未使用);
  • 补充了动态内存释放逻辑,避免内存泄漏;
  • 明确了正数判断条件,若需求包含0可自行调整为arr[i][j] >= 0;
  • 增加了无正数场景的提示,避免未定义输出。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 13:15:51