C - 按降序合并两个已排序的行

时间:2017-05-24 23:49:57

标签: c arrays sorting multidimensional-array

我很抱歉,如果我的代码看起来很愚蠢,但我对编码世界有点新意。 任务是 - 我需要按列输入矩形矩阵的所有元素(不知道它是否是编程中的正确单词),然后我必须检查行是否按降序排列,这就是我的问题。我需要合并两个按降序排序的行,然后在屏幕上打印它,但我不知道该怎么做。我已经尝试了2-3个小时。如果有人帮助我,我将非常感激。谢谢。

#include<stdio.h>
#include<stdlib.h>
void enterArray(int masiv[][50],int n,int m);
void checkArray(int masiv[][50], int n, int m);
void merge(int masiv[][50], int n, int m);

int main()
{
    int a[50][50];
    int result, n, m;
    enterArray(a, n, m);
    checkArray(a, n, m);
    return 0;
}

void enterArray(int masiv[][50], int n, int m){
    int i,j;
    do{
        printf("Rows");
        scanf("%d",&n);
        printf("Columns");
        scanf("%d",&m);
        if(m==n){
            printf("asd\n");
        }
    }while(n==m);

    for(i=0;i<n;i++)
        for(j=0;j<m;j++){
            printf("Input the elements of the array by columns [%d][%d]\n",j,i);
            scanf("%d",&masiv[j][i]);
        }
}

void checkArray(int masiv[][50], int n, int m){
    int i,j;
    int flag=1;
    for(i=0;i<n;i++)
        for(j=0;j<m-1;j++)
            if(masiv[i][j]<masiv[i][j+1])
                flag=0;
    if(flag==1)
        printf("\nRow %d is in a descending order",i);
}

0 个答案:

没有答案