将2D数组排序为升序

时间:2018-04-03 20:02:49

标签: c function multidimensional-array

  • 我正在尝试将数组的内容打印成升序,我也在使用函数(我已经分配的任务的一部分) - 我对C / C ++很新,因此如果有什么问题。< / LI>
  • 我使用的排序算法只是将所有数字输出为随机顺序,以任何方式解决或纠正这个问题? - 理想情况下,这需要作为阵列显示输出到2x2网格。

Ascending Order Output

include <stdio.h>/*Seperate Function for Input ArrayInt */
int main(){
int arrayHeight, array[100][2], xCoord, yCoord, i;
printf ("***** Bubble Sort ***** \n");  
printf("\n How many items of data do you wish to enter? ");
scanf("%d",&arrayHeight);
for(i=0; i<arrayHeight; i++){
    printf("Please enter in the X coordinate: ");
    scanf("%d", &xCoord);
    printf("Please enter in the Y coordinate: ");
    scanf("%d", &yCoord);
    array[i][0] = xCoord;
    array[i][1] = yCoord;
}
DisplayArray(array, arrayHeight);
BubbleSort(array, arrayHeight);
}
int DisplayArray(int array[100][2],int arrayHeight, int swap) {
/*Displaying Array elements*/
int i, j;
printf("\n The 2-D Array contains : \n");
for(i=0; i<arrayHeight; i++)
{
    printf("[%d][%d]\n\r", array[i][1], array[i][0]);
}
}  
 int BubbleSort(int array[100][2], int arrayHeight)
{   
/*Sorts the Array elements into appropriate chosen sorting order - Ascending*/
int swap, i, j, k;
for(k =0; k< arrayHeight; k++) {
            for (i = 0; i <arrayHeight; i++) {
            for (j = i+1; j < 3; ++j) {
            if (array[i][0] > array[i][-1])  {
                array[i][1] = swap;
                swap = array[i][0]; /*Array = Array Name*/
             }
         }  
     }
 }    
printf("\n Printing in Asending Order: ");
{
for (i=0; i<arrayHeight; i++)
    {
        for (j=0; j<arrayHeight; j++)
        {
            printf("\n [%d][%d] ", array[i][-1], array[i][1]);  
        }
    }
}
}

0 个答案:

没有答案