C语言 我在数组操作方面遇到一些问题

ldxq2e6h  于 2022-12-11  发布在  其他
关注(0)|答案(1)|浏览(125)

我用C写了一些代码,我必须找到每一行的最大元素,然后把每一行的最大元素左边的每个元素都改为该行的最大元素。
我试过这个:

for(i=0;i<R;i++)
    {
        MAX[i]=0;
        for(j=0;j<C;j++)
        {
            if(MAX[i]<A[i][j])
            {
                MAX[i]=A[i][j];
            }
        }
    }
    for(i=0;i<R;i++)
    {
        for(j=0;j<C;j++)
        {
           while(A[i][j]<MAX[i])
           {
                A[i][j]=MAX[i];
           }
        }
    }

}

......但它当然会将每行的每个元素都更改为该行的max元素,因此我怀疑我必须修改该代码块。
任何帮助将不胜感激,因为我是新的编码。

n6lpvg4x

n6lpvg4x1#

你的缩进至少可以说是令人困惑的。我想这是你想达到的意思,但我不确定:

for(i=0;i<R;i++){
    MAX[i]=0;
    for(j=0;j<C;j++){
        if(MAX[i]<A[i][j]){
            MAX[i]=A[i][j];
        }
    }
}
    
for(i=0;i<R;i++){
    int j = 0;
    while(A[i][j] < MAX[i]){
        A[i][j] = MAX[i];
        j++;
    }
}

相关问题