我需要按升序(所有元素)对给定矩阵进行排序。
让我们假设给定矩阵是
2  0  4  -1
-3 1  5   5
6  4  4   9
-5 8  10  12
排序后的矩阵应该是这样的:
-5  -3  -1  0 
1   2   4   4
4   5   5   6
8   9   10  12
我的代码给了我不好的结果。
当k = 0 w = 0它没问题时它很好
,它countinues k = 0 w = 1但是然后它跳到
    k = 1 w = 1而不检查k = 1 w = 0因为w = j我需要用替换w有什么可以解决的,但我不知道用什么来代替它
我的代码:
#include <stdio.h>
#include <stdlib.h>
#define n 2
int main()
{
    int arr[n][n],min,i,j,tmp,y,k,w,z=0,q=0;
    for(i=0;i<n;i++)
        for(j=0;j<n;j++)
        {
            printf("Enter number: ");
            scanf("%d",&arr[i][j]);
        }
    for(i=0;i<n;i++)
        for(j=0;j<n;j++)
        {
            min=arr[i][j];
            for(k=i;k<n;k++)
            {
                for(w=j;w<n;w++)
                if(arr[k][w]<min)
                {
                    min=arr[k][w];
                    z=k;
                    q=w;
                }
                w=0;
            }
            tmp=arr[i][j];
            arr[i][j]=min;
            arr[z][q]=tmp;
        }
    for(i=0;i<n;i++)
    {
        for(j=0;j<n;j++)
            printf("%d ",arr[i][j]);
        printf("\n");
    }
}