重大度レベル コード 説明 プロジェクト ファイル 行 抑制状態
エラー (アクティブ) E0165 関数呼び出しの引数が少なすぎます
重大度レベル コード 説明 プロジェクト ファイル 行 抑制状態
エラー C2660 'QuickSort': 関数に 2 個の引数を指定できません。
という2つのエラーが発生しました。手に負えないので修正点を教えていただけないでしょうか。よろしくお願いします。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define NUM_DATA 100
void QuickSort(int num[], int begin, int end);
void datasee(int num[], int n);
int main(void);
//バブルソートを降順に行い、並び替え終了回数を表示//
void QuickSort(int num[], int begin, int end)
{
int i = begin;
int j = end;
int pivot;
int temp;
pivot = num[(begin + end) / 2]; // 中央の値をpivotにする
while (1)
{
while (num[i] < pivot) { ++i; } /* 枢軸以上の値が見つかるまで右方向へ進めていく */
while (num[j] > pivot) { --j; } /* 枢軸以下の値が見つかるまで左方向へ進めていく */
if (i >= j)break; // 軸がぶつかったらソート終了
// 入れ替え
temp = num[i];
num[i] = num[j];
num[j] = temp;
i++;
j--;
}
// 軸の左側をソートする
if (begin < i - 1) { QuickSort(num,begin, i - 1); }
// 軸の右側をソートする
if (j + 1 < end) { QuickSort(num, j + 1, end); }
}
//乱数を10個ずつ並べる//
void datasee(int num[], int n)
{
int i = 1;
while (n--) {
printf("%3d ", *num++);
i++;
if (n % 10 == 0) {
printf("\n");
}
}
printf("\n");
}
//乱数を生成し、Befor,Afterを表示//
int main(void)
{
int num[100], i;
srand((unsigned)time(NULL));
for (i = 0; i < NUM_DATA; i++) {
num[i] = rand();
}
printf("(Before)\n");
datasee(num, NUM_DATA);
printf("\n");
QuickSort(num, NUM_DATA);
printf("\n");
printf("(After)\n");
datasee(num, NUM_DATA);
printf("\n");
}