質問編集履歴
3
print文を追加しました
title
CHANGED
File without changes
|
body
CHANGED
@@ -70,8 +70,7 @@
|
|
70
70
|
clock:0.000000
|
71
71
|
```
|
72
72
|
###追記
|
73
|
-
|
73
|
+
start_clock,end_clockどちらも0になっていました。
|
74
|
-
実行環境の問題なのでしょうか?(visual studio上で動かしています。)
|
75
74
|
make_next関数に渡す変数をnからmに変えてください。
|
76
75
|
```c
|
77
76
|
16
|
2
print文を追加しました
title
CHANGED
File without changes
|
body
CHANGED
@@ -58,7 +58,7 @@
|
|
58
58
|
end_clock=clock();
|
59
59
|
printf("%d\n",c);
|
60
60
|
printf("%d\n",count);
|
61
|
-
printf("start_clock:%
|
61
|
+
printf("start_clock:%ld end_clock:%ld\n",start_clock,end_clock);
|
62
62
|
printf("clock:%f\n",(double)(end_clock-start_clock)/CLOCKS_PER_SEC);
|
63
63
|
return 0;
|
64
64
|
}
|
@@ -76,6 +76,6 @@
|
|
76
76
|
```c
|
77
77
|
16
|
78
78
|
4
|
79
|
-
start_clock:0
|
79
|
+
start_clock:0 end_clock:0
|
80
80
|
clock:0.000000
|
81
81
|
```
|
1
print文を追加しました
title
CHANGED
File without changes
|
body
CHANGED
@@ -52,12 +52,13 @@
|
|
52
52
|
a[i]=(rand()%26+'a');
|
53
53
|
for(int j=0;j<m;j++)
|
54
54
|
b[j]=(rand()%26+'a');
|
55
|
-
make_next(a,
|
55
|
+
make_next(a,m);
|
56
56
|
start_clock=clock();
|
57
57
|
int c = kmp(a,b,m,n);
|
58
58
|
end_clock=clock();
|
59
59
|
printf("%d\n",c);
|
60
60
|
printf("%d\n",count);
|
61
|
+
printf("start_clock:%f end_clock:%f\n",start_clock,end_clock);
|
61
62
|
printf("clock:%f\n",(double)(end_clock-start_clock)/CLOCKS_PER_SEC);
|
62
63
|
return 0;
|
63
64
|
}
|
@@ -67,4 +68,14 @@
|
|
67
68
|
16
|
68
69
|
9810
|
69
70
|
clock:0.000000
|
71
|
+
```
|
72
|
+
###追記
|
73
|
+
print文でstart_clockとend_clockを表示したところend_clockの値が異常に大きくなっているのが原因と分かりました。
|
74
|
+
実行環境の問題なのでしょうか?(visual studio上で動かしています。)
|
75
|
+
make_next関数に渡す変数をnからmに変えてください。
|
76
|
+
```c
|
77
|
+
16
|
78
|
+
4
|
79
|
+
start_clock:0.000000 end_clock:265598093932012850000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.000000
|
80
|
+
clock:0.000000
|
70
81
|
```
|