what is the mistake in my program of mergesort

+1 chinesh doshi · January 7, 2016
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
    int i,k;
    printf("enter the total number of number to be sorted \n");
    scanf("%d",&i);
    int a;
    for(k=0;k<i;k++){
    printf("enter the %d number",(k+1));
    scanf("%d",&a[k]);
    }
    mergsort(a);

    return 0;
}

void merge(int a[],int le[],int ri[]){
    int i,j,k;
        i=0;j=0;k=0;
        int nl=sizeof(le);
        int nr=sizeof(ri);
        while(i<nl&&j<nr){
            if(le<=ri[j]){
                a[k]=le;
                k++;
                i++;
            }
            else{
                a[k]=ri[j];
                k++;
                j++;
            }
        }
        while(i<nl){
            a[k]=le;
            i++;
            k++;
        }
        while(j<nr){
            a[k]=ri[j];
            j++;k++;
        }
}
void mergsort(int a[]){
    int n,left,right,i;

    n=sizeof(a);
    if(n<2){
        return;
    }
    left=n/2;
    right=n-left;
    int le
,ri
;
    for(i=0;i<left;i++){
        a=le;
    }
    for(i=left;i<n;i++){
        ri[i-left]=a;
    }
    mergsort(le);
    mergsort(ri);
    merge(a,le,ri);
}

Post a Reply

Replies

Oldest  Newest  Rating
0 chinesh doshi · January 7, 2016
please check alignment of the above text
  • 1

C

107,322 followers
About

One of the most popular languages of all time.

Links
Moderators
Bucky Roberts Administrator