至急お願いします。
Posted: 2011年1月10日(月) 23:01
実行時間の計測をするためのプログラムです。
38行目を正確に直してほしいのですが・・・・
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define MAX 10000/*変更して測定*/
void quick_sort(int a[], int l, int r){
int v, i, j, t;
if(r > l){
/*3要素の中央値*/
v = a[r]; j = (l+r)/2;
if (a[j] > v)
if(a[l] >= a[j]){
a[r] = a[j];
a[j] = v;
} else if (a[l] > v) {
a[r] = a[l];
a[l] = v;
}else if (a[j] >= a){
a[r] = a[j];
a[j] = v;
} else if (a[l] < v) {
a[r] = a[l];
a[l] = v;
}
quick_sort(a, l, i-1);
quick_sort(a, i+1, r);
}
}
main()
{
int i, x[MAX], n;
time_t start, end;
srand(99); /*乱数列の選択*/
for(i=0; i<MAX; i++) x = rand() % MAX;
n = MAX;
start = clock();
quick_sort(x, n);/*測定対象プログラム*/
end = clock();
printf("sort\n");
for (i = 0; i < n; i++)
if(i==i/100*100)printf("%d\n", x);/*100毎に出力*/
printf("exec time: %lf sec\n", (double)(end-start)/(double)CLOCKS_PER_SEC);
return 0;
}
で、『38: 呼び出し時のパラメータが足りない:quick_sort(関数 main )』
という風に出てしまうんですが、どうすれば良いのでしょうか。
分かる方お願いします。
38行目を正確に直してほしいのですが・・・・
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define MAX 10000/*変更して測定*/
void quick_sort(int a[], int l, int r){
int v, i, j, t;
if(r > l){
/*3要素の中央値*/
v = a[r]; j = (l+r)/2;
if (a[j] > v)
if(a[l] >= a[j]){
a[r] = a[j];
a[j] = v;
} else if (a[l] > v) {
a[r] = a[l];
a[l] = v;
}else if (a[j] >= a){
a[r] = a[j];
a[j] = v;
} else if (a[l] < v) {
a[r] = a[l];
a[l] = v;
}
quick_sort(a, l, i-1);
quick_sort(a, i+1, r);
}
}
main()
{
int i, x[MAX], n;
time_t start, end;
srand(99); /*乱数列の選択*/
for(i=0; i<MAX; i++) x = rand() % MAX;
n = MAX;
start = clock();
quick_sort(x, n);/*測定対象プログラム*/
end = clock();
printf("sort\n");
for (i = 0; i < n; i++)
if(i==i/100*100)printf("%d\n", x);/*100毎に出力*/
printf("exec time: %lf sec\n", (double)(end-start)/(double)CLOCKS_PER_SEC);
return 0;
}
で、『38: 呼び出し時のパラメータが足りない:quick_sort(関数 main )』
という風に出てしまうんですが、どうすれば良いのでしょうか。
分かる方お願いします。