未在C中调用的函数

时间:2018-04-03 17:01:51

标签: c function multidimensional-array

您好我正在尝试使用函数通过升序输出数组的内容,但函数不正确地工作到我的特定结果,特别是在Bubblesort函数内有人知道为什么吗?

  • 我一直在试图解决这个问题很多个小时,所以一定要强调一下。 底部的注释是降序输出。 current output of Ascending Function

    int main() 
    {
       int arrayHeight, array[100][2], xCoord, yCoord, i;
       printf ("***** Bubble Sort ***** \n");
       printf("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][0], array[i][1]);
       }
    }  
    
    int BubbleSort(int array[100][2], int arrayHeight) /*Start of the Function Usage*/
    {   
       /*Sorts the Array elements into appropriate chosen sorting order - Ascending*/
       int swap, i, j;
       /*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])  {
                   swap = array[i][0];
                   array[i][0] = array[i][1];
                   array[i][1] = swap;
                }
             }  
          }
          ("\n Printing in Asending Order: ");
          for (i=0; i<arrayHeight; i++)
          {
             for (j=0; j<arrayHeight; j++)
             {
                printf("\n %d ", swap);
             }
          }
       BubbleSort(array, swap);  
       }
       for(k =0; k< 2; k++) {/* These lines of code sort out the stored array 
    number into the appropriate order - Descending
       for (i = 0; i < 3; i++) {
          for (j = i+1; j < 3; ++j) {
             if (a[k][j] > a[k][i])  {
                int swap = a[k][j];
                a[k][j] = a[k][i];
                a[k][i] = swap;
             }
          }
       } 
    }   
    printf("\n Printing in Descending Order: ");
    for (j=0; j<2; j++)
    {
        for (i=0; i<3; i++)
        {
            printf("\n %d ", a[j][i]);
            if (i==2)
            {
                printf("\n");
            }   
        }
    }
    

1 个答案:

答案 0 :(得分:1)

  1. 所有声明函数的原型或在主要上面写函数

  2. 首先调用Bubblesort,然后调用DisplayArray函数

  3. 我认为该程序的逻辑在这里被打破了

    FragmentActivity

    }

  4. 使用j完成循环,但它不会在程序中的任何地方使用我认为这是一个错误