对二维数组每一行进行冒泡排列时为什么输出有误(语言-c++)

调试的时候发现无法对j初始化,但初始化不知道在何处重新初始化
放在判断里面,循环还是错的,放在判断外面,就变成了死循环

    for (k = 0; k < 5; k++){

        for (i = 0; i < 5; i++)    {

            for (j = 0; j < 4-i; j++){

                if (A[k][j] < A[k][j + 1]){
                    LIN= A[k][j + 1];
                    A[k][j + 1] = A[k][j];
                    A[k][j] = LIN;
                }
                
            }
        }
    }
        for (i=0;i<5;i++){
            for(j=0;j<5;j++){
        if(A[i][0]=a[i][j]){
            o[i]=i;
            p[i]=j;
        }
        }
    }

以上是排序和判断最大值的部分,A是排序后的数组,a是原数组
原本的代码太长不方便上传,就这部分有问题
输出结果如图所示
不知道为什么错了

img

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

循环范围改一下:
for (i = 0; i < 5-1; i++)
for (j = 1; j < 5-i; j++)