fork download
  1. I tried to store index while sorting using merge sort and looks like after the modification its not even sorting correctly
  2. Please help me find where i am going wrong.
  3.  
  4.  
  5. void merge(int a[][2],int start,int middle ,int end)
  6. {
  7. int size1 = middle-start +1;
  8. int size2 = end-middle;
  9. int i,j;
  10. int k =start;
  11. int L[size1][2];
  12. int R[size2][2];
  13. //int *L = (int *)malloc(sizeof(int)*size1);
  14. //int *R = (int *)malloc(sizeof(int)*size2);
  15.  
  16. // copy values from main array to temp arrays
  17. for(i=0 ; i<size1; i++)
  18. {
  19. L[i][1] = a[i+start][1];
  20. L[i][0] = a[i+start][0];
  21. }
  22. for(j=0 ; j<size2 ; j++)
  23. {
  24. R[j][1] = a[j+middle+1][1];
  25. R[j][0] = a[j+middle+1][0];
  26. }
  27.  
  28. i=0;
  29. j=0;
  30. while(i<size1 && j<size2)
  31. {
  32. if(L[i] < R[j])
  33. {
  34. a[k][1] = L[i][1];
  35. a[k][0] = L[i][0];
  36. k++;
  37. i++;
  38. }
  39. else{
  40. a[k][1] = R[j][1];
  41. a[k][0] = R[j][0];
  42. k++;
  43. j++;
  44. }
  45. }
  46. while(i<size1)
  47. {
  48. a[k][1] = L[i][1];
  49. a[k][0] = L[i][0];
  50. i++;
  51. k++;
  52. }
  53. while(j<size2)
  54. {
  55. a[k][1] = R[j][1];
  56. a[k][0] = R[j][0];
  57. k++;
  58. j++;
  59. }
  60.  
  61. }
  62. void mergeSort(int a[][2], int start , int end)
  63. {
  64. if(start < end)
  65. {
  66. int middle = start + (end - start) /2;
  67. mergeSort(a,start, middle);
  68. mergeSort(a,middle+1,end);
  69. merge(a,start,middle,end);
  70. }
  71. }
  72. int main()
  73. {
  74. int array[10][2] = {{0,55},{1,3},{2,4},{3,5},{4,6},{5,7},{6,8},{7,9},{8,10},{9,2}};
  75. int i;
  76. int len = sizeof(array)/sizeof(array[0]) - 1;
  77. for(i = 0 ;i <= 9; i++)
  78. printf("%d",array[i][1]);
  79. mergeSort(array,0,9);
  80. printf ( "\nArray after sorting:\n") ;
  81. printf ( "\nindex after sorting:\n") ;
  82. for(i = 0 ;i <= 9; i++)
  83. printf("%d",array[i][0]);
  84. printf ( "\nArray after sorting:\n") ;
  85. for(i = 0 ;i <= 9; i++)
  86. printf("%d",array[i][1]);
  87. }
  88.  
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
Main.java:1: error: class, interface, or enum expected
I tried to store index while sorting using merge sort and looks like after the modification its not even sorting correctly
^
Main.java:8: error: class, interface, or enum expected
int size2 = end-middle;
^
Main.java:9: error: class, interface, or enum expected
int i,j;
^
Main.java:10: error: class, interface, or enum expected
int k =start;
^
Main.java:11: error: class, interface, or enum expected
int L[size1][2];
^
Main.java:12: error: class, interface, or enum expected
int R[size2][2];
^
Main.java:17: error: class, interface, or enum expected
for(i=0 ; i<size1; i++)
^
Main.java:17: error: class, interface, or enum expected
for(i=0 ; i<size1; i++)
          ^
Main.java:17: error: class, interface, or enum expected
for(i=0 ; i<size1; i++)
                   ^
Main.java:20: error: class, interface, or enum expected
 L[i][0] = a[i+start][0];
 ^
Main.java:21: error: class, interface, or enum expected
}
^
Main.java:22: error: class, interface, or enum expected
for(j=0 ; j<size2 ; j++)
          ^
Main.java:22: error: class, interface, or enum expected
for(j=0 ; j<size2 ; j++)
                    ^
Main.java:25: error: class, interface, or enum expected
 R[j][0] = a[j+middle+1][0];
 ^
Main.java:26: error: class, interface, or enum expected
}
^
Main.java:29: error: class, interface, or enum expected
j=0;
^
Main.java:30: error: class, interface, or enum expected
while(i<size1 && j<size2)
^
Main.java:35: error: class, interface, or enum expected
   a[k][0] = L[i][0];
   ^
Main.java:36: error: class, interface, or enum expected
   k++;
   ^
Main.java:37: error: class, interface, or enum expected
   i++;
   ^
Main.java:38: error: class, interface, or enum expected
   } 
   ^
Main.java:41: error: class, interface, or enum expected
   a[k][0] = R[j][0];
   ^
Main.java:42: error: class, interface, or enum expected
  k++;
  ^
Main.java:43: error: class, interface, or enum expected
  j++;
  ^
Main.java:44: error: class, interface, or enum expected
   }
   ^
Main.java:49: error: class, interface, or enum expected
a[k][0] = L[i][0];
^
Main.java:50: error: class, interface, or enum expected
i++;
^
Main.java:51: error: class, interface, or enum expected
k++;
^
Main.java:52: error: class, interface, or enum expected
}
^
Main.java:56: error: class, interface, or enum expected
a[k][0] = R[j][0];
^
Main.java:57: error: class, interface, or enum expected
k++;
^
Main.java:58: error: class, interface, or enum expected
j++;
^
Main.java:59: error: class, interface, or enum expected
}
^
Main.java:67: error: class, interface, or enum expected
mergeSort(a,start, middle);
^
Main.java:68: error: class, interface, or enum expected
mergeSort(a,middle+1,end);
^
Main.java:69: error: class, interface, or enum expected
merge(a,start,middle,end);
^
Main.java:70: error: class, interface, or enum expected
}
^
Main.java:75: error: class, interface, or enum expected
int i;
^
Main.java:76: error: class, interface, or enum expected
int len = sizeof(array)/sizeof(array[0]) - 1;
^
Main.java:77: error: class, interface, or enum expected
for(i = 0 ;i <= 9; i++)
^
Main.java:77: error: class, interface, or enum expected
for(i = 0 ;i <= 9; i++)
           ^
Main.java:77: error: class, interface, or enum expected
for(i = 0 ;i <= 9; i++)
                   ^
Main.java:79: error: class, interface, or enum expected
mergeSort(array,0,9);
^
Main.java:80: error: class, interface, or enum expected
printf ( "\nArray after sorting:\n") ;
^
Main.java:81: error: class, interface, or enum expected
printf ( "\nindex after sorting:\n") ;
^
Main.java:82: error: class, interface, or enum expected
for(i = 0 ;i <= 9; i++)
^
Main.java:82: error: class, interface, or enum expected
for(i = 0 ;i <= 9; i++)
           ^
Main.java:82: error: class, interface, or enum expected
for(i = 0 ;i <= 9; i++)
                   ^
Main.java:84: error: class, interface, or enum expected
printf ( "\nArray after sorting:\n") ;
^
Main.java:85: error: class, interface, or enum expected
for(i = 0 ;i <= 9; i++)
^
Main.java:85: error: class, interface, or enum expected
for(i = 0 ;i <= 9; i++)
           ^
Main.java:85: error: class, interface, or enum expected
for(i = 0 ;i <= 9; i++)
                   ^
Main.java:87: error: class, interface, or enum expected
}
^
53 errors
stdout
Standard output is empty