質問編集履歴
11
test
CHANGED
File without changes
|
test
CHANGED
@@ -166,6 +166,10 @@
|
|
166
166
|
|
167
167
|
|
168
168
|
|
169
|
-
昇順にし
|
169
|
+
昇順にしたら、きちんとできました!!!
|
170
170
|
|
171
|
-
|
171
|
+
ミスの見逃しですね。これからもさらに勉強してミスを減らしていきたいです。
|
172
|
+
|
173
|
+
|
174
|
+
|
175
|
+
ベストアンサー以外の回答者様や指摘をしてくれた方、ありがとうございました!
|
10
test
CHANGED
File without changes
|
test
CHANGED
@@ -25,6 +25,8 @@
|
|
25
25
|
```lang-C
|
26
26
|
|
27
27
|
```#include <stdio.h>
|
28
|
+
|
29
|
+
#include<stdio.h>
|
28
30
|
|
29
31
|
int main(void)
|
30
32
|
|
9
test
CHANGED
File without changes
|
test
CHANGED
@@ -21,6 +21,8 @@
|
|
21
21
|
### 該当のソースコード
|
22
22
|
|
23
23
|
|
24
|
+
|
25
|
+
```lang-C
|
24
26
|
|
25
27
|
```#include <stdio.h>
|
26
28
|
|
@@ -144,12 +146,6 @@
|
|
144
146
|
|
145
147
|
}
|
146
148
|
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
149
|
```
|
154
150
|
|
155
151
|
|
8
test
CHANGED
File without changes
|
test
CHANGED
@@ -22,11 +22,7 @@
|
|
22
22
|
|
23
23
|
|
24
24
|
|
25
|
-
```C
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
#include <stdio.h>
|
25
|
+
```#include <stdio.h>
|
30
26
|
|
31
27
|
int main(void)
|
32
28
|
|
7
test
CHANGED
File without changes
|
test
CHANGED
@@ -165,3 +165,13 @@
|
|
165
165
|
C言語を始めたばかりなのでそもそもアルゴリズムが間違っているかもしれないです。
|
166
166
|
|
167
167
|
何度か不等号や変数を変えましたができませんでした。
|
168
|
+
|
169
|
+
|
170
|
+
|
171
|
+
|
172
|
+
|
173
|
+
|
174
|
+
|
175
|
+
昇順にしてみましたが、
|
176
|
+
|
177
|
+
同じでした。
|
6
test
CHANGED
File without changes
|
test
CHANGED
@@ -54,7 +54,7 @@
|
|
54
54
|
|
55
55
|
{
|
56
56
|
|
57
|
-
if(a[i]
|
57
|
+
if(a[i]>a[j])
|
58
58
|
|
59
59
|
{
|
60
60
|
|
5
test
CHANGED
File without changes
|
test
CHANGED
@@ -98,7 +98,11 @@
|
|
98
98
|
|
99
99
|
high=14;
|
100
100
|
|
101
|
+
|
102
|
+
|
103
|
+
|
104
|
+
|
101
|
-
|
105
|
+
/*恐らくこの下が間違っているのだと思います*/
|
102
106
|
|
103
107
|
while(low<high)
|
104
108
|
|
@@ -146,6 +150,10 @@
|
|
146
150
|
|
147
151
|
|
148
152
|
|
153
|
+
|
154
|
+
|
155
|
+
|
156
|
+
|
149
157
|
```
|
150
158
|
|
151
159
|
|
4
test
CHANGED
File without changes
|
test
CHANGED
@@ -22,7 +22,7 @@
|
|
22
22
|
|
23
23
|
|
24
24
|
|
25
|
-
```C
|
25
|
+
```C
|
26
26
|
|
27
27
|
|
28
28
|
|
@@ -32,17 +32,17 @@
|
|
32
32
|
|
33
33
|
{
|
34
34
|
|
35
|
-
int a[15],i,j,
|
35
|
+
int a[15],i,j,l,temp;
|
36
36
|
|
37
37
|
|
38
38
|
|
39
|
-
for(
|
39
|
+
for(l=0;l<15;l++)
|
40
40
|
|
41
41
|
{
|
42
42
|
|
43
|
-
printf("a[%d]=",
|
43
|
+
printf("a[%d]=",l);
|
44
44
|
|
45
|
-
scanf("%d",&a[
|
45
|
+
scanf("%d",&a[l]);
|
46
46
|
|
47
47
|
}
|
48
48
|
|
@@ -74,10 +74,6 @@
|
|
74
74
|
|
75
75
|
printf("\n");
|
76
76
|
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
77
|
int m;
|
82
78
|
|
83
79
|
for(m=0;m<15;m++)
|
@@ -104,47 +100,41 @@
|
|
104
100
|
|
105
101
|
|
106
102
|
|
103
|
+
while(low<high)
|
107
104
|
|
105
|
+
{
|
108
106
|
|
107
|
+
mid=(low+high)/2;
|
109
108
|
|
109
|
+
|
110
110
|
|
111
|
-
|
111
|
+
if(key==a[mid])
|
112
112
|
|
113
|
-
|
113
|
+
{
|
114
114
|
|
115
|
-
|
115
|
+
printf("目的データ:No.%d",mid);
|
116
116
|
|
117
|
-
|
117
|
+
return 0;
|
118
118
|
|
119
|
-
|
119
|
+
}
|
120
120
|
|
121
|
-
|
121
|
+
else if(key<a[mid])
|
122
122
|
|
123
|
-
|
123
|
+
{
|
124
124
|
|
125
|
-
|
125
|
+
high=mid-1;
|
126
126
|
|
127
|
-
|
127
|
+
}
|
128
128
|
|
129
|
-
|
129
|
+
else if(key>a[mid])
|
130
130
|
|
131
|
-
|
131
|
+
{
|
132
132
|
|
133
|
-
|
133
|
+
low=mid+1;
|
134
134
|
|
135
|
-
|
135
|
+
}
|
136
136
|
|
137
|
-
> }
|
138
|
-
|
139
|
-
> else if(key>a[mid])
|
140
|
-
|
141
|
-
> {
|
142
|
-
|
143
|
-
> low=mid+1;
|
144
|
-
|
145
|
-
> }
|
146
|
-
|
147
|
-
|
137
|
+
}
|
148
138
|
|
149
139
|
|
150
140
|
|
@@ -153,8 +143,6 @@
|
|
153
143
|
return 0;
|
154
144
|
|
155
145
|
}
|
156
|
-
|
157
|
-
|
158
146
|
|
159
147
|
|
160
148
|
|
3
test
CHANGED
File without changes
|
test
CHANGED
@@ -22,7 +22,9 @@
|
|
22
22
|
|
23
23
|
|
24
24
|
|
25
|
-
```C
|
25
|
+
```C```
|
26
|
+
|
27
|
+
|
26
28
|
|
27
29
|
#include <stdio.h>
|
28
30
|
|
2
test
CHANGED
File without changes
|
test
CHANGED
@@ -108,41 +108,41 @@
|
|
108
108
|
|
109
109
|
/*おそらくこの下が間違っています。*/
|
110
110
|
|
111
|
-
while(low<high)
|
111
|
+
> while(low<high)
|
112
112
|
|
113
|
-
{
|
113
|
+
> {
|
114
114
|
|
115
|
-
mid=(low+high)/2;
|
115
|
+
> mid=(low+high)/2;
|
116
116
|
|
117
|
-
|
117
|
+
>
|
118
118
|
|
119
|
-
if(key==a[mid])
|
119
|
+
> if(key==a[mid])
|
120
120
|
|
121
|
-
{
|
121
|
+
> {
|
122
122
|
|
123
|
-
printf("目的データ:No.%d",mid);
|
123
|
+
> printf("目的データ:No.%d",mid);
|
124
124
|
|
125
|
-
return 0;
|
125
|
+
> return 0;
|
126
126
|
|
127
|
-
}
|
127
|
+
> }
|
128
128
|
|
129
|
-
else if(key<a[mid])
|
129
|
+
> else if(key<a[mid])
|
130
130
|
|
131
|
-
{
|
131
|
+
> {
|
132
132
|
|
133
|
-
high=mid-1;
|
133
|
+
> high=mid-1;
|
134
134
|
|
135
|
-
}
|
135
|
+
> }
|
136
136
|
|
137
|
-
else if(key>a[mid])
|
137
|
+
> else if(key>a[mid])
|
138
138
|
|
139
|
-
{
|
139
|
+
> {
|
140
140
|
|
141
|
-
low=mid+1;
|
141
|
+
> low=mid+1;
|
142
142
|
|
143
|
-
}
|
143
|
+
> }
|
144
144
|
|
145
|
-
}
|
145
|
+
> }
|
146
146
|
|
147
147
|
|
148
148
|
|
1
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,8 +1,8 @@
|
|
1
|
-
__**二分探索しようとすると失敗します
|
1
|
+
__**二分探索しようとすると失敗します
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
|
5
|
+
|
6
6
|
|
7
7
|
配列に15個の数値を入力し、昇順にソートした後 二分探索でkeyに入力したデータが何番目にあるかを出力するプログラムを作りたいのですが、どうすればいいでしょうか。
|
8
8
|
|
@@ -14,9 +14,7 @@
|
|
14
14
|
|
15
15
|
```
|
16
16
|
|
17
|
-
エラーメッセージ
|
18
17
|
|
19
|
-
```
|
20
18
|
|
21
19
|
|
22
20
|
|
@@ -104,6 +102,12 @@
|
|
104
102
|
|
105
103
|
|
106
104
|
|
105
|
+
|
106
|
+
|
107
|
+
|
108
|
+
|
109
|
+
/*おそらくこの下が間違っています。*/
|
110
|
+
|
107
111
|
while(low<high)
|
108
112
|
|
109
113
|
{
|
@@ -163,11 +167,3 @@
|
|
163
167
|
C言語を始めたばかりなのでそもそもアルゴリズムが間違っているかもしれないです。
|
164
168
|
|
165
169
|
何度か不等号や変数を変えましたができませんでした。
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
### 補足情報(FW/ツールのバージョンなど)
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
ここにより詳細な情報を記載してください。
|