0

現在、ソート アルゴリズムのタイマーで問題が発生しています。バブル ソートを使用しています。

タイマーがアルゴリズムの実行時間を記録する必要がありますが、現時点では、ユーザーがプログラムを開いて値を入力する時間を考慮しています (これは望ましくありません)。

ユーザー入力を受け取り、リアルタイムとして 0 を取得している場所の後にタイマーの開始を移動することにしましたが、これは正しくありません。

これを修正する方法を知っている人はいますか?

(以下のコードはビルドされないことに注意してください - タイマーとその開始/終了場所に注目してください)

#include <stdio.h>
#include <time.h>

int main()
{
  int array[100], n, c, d, swap;

  printf("Enter number of elements\n");
  scanf("%d", &n);

  printf("Enter %d integers\n", n);

  for (c = 0; c < n; c++)
    scanf("%d", &array[c]);

    clock_t t;     
    t = clock();    // timer starts here

  for (c = 0 ; c < ( n - 1 ); c++)
  {
    for (d = 0 ; d < n - c - 1; d++)
    {
      if (array[d] > array[d+1]) /* For decreasing order use < */
      {
        swap       = array[d];
        array[d]   = array[d+1];
        array[d+1] = swap;
      }
    }
  }

  t = clock() - t; // ends timer

      printf("Sorted list in ascending order:\n");

      for ( c = 0 ; c < n ; c++ )
         printf("%d\n", array[c]);



      return 0;
        }
4

0 に答える 0