質問編集履歴

11

2018/06/30 04:41

投稿

xxxrrrr
xxxrrrr

スコア17

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

2018/06/30 04:41

投稿

xxxrrrr
xxxrrrr

スコア17

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

2018/06/30 04:33

投稿

xxxrrrr
xxxrrrr

スコア17

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

2018/06/30 04:32

投稿

xxxrrrr
xxxrrrr

スコア17

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

2018/06/30 04:30

投稿

xxxrrrr
xxxrrrr

スコア17

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

2018/06/30 04:28

投稿

xxxrrrr
xxxrrrr

スコア17

test CHANGED
File without changes
test CHANGED
@@ -54,7 +54,7 @@
54
54
 
55
55
  {
56
56
 
57
- if(a[i]<a[j])
57
+ if(a[i]>a[j])
58
58
 
59
59
  {
60
60
 

5

2018/06/30 04:27

投稿

xxxrrrr
xxxrrrr

スコア17

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

2018/06/30 04:20

投稿

xxxrrrr
xxxrrrr

スコア17

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,k,temp;
35
+ int a[15],i,j,l,temp;
36
36
 
37
37
 
38
38
 
39
- for(k=0;k<15;k++)
39
+ for(l=0;l<15;l++)
40
40
 
41
41
  {
42
42
 
43
- printf("a[%d]=",k);
43
+ printf("a[%d]=",l);
44
44
 
45
- scanf("%d",&a[k]);
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
- > while(low<high)
113
+ {
114
114
 
115
- > {
115
+ printf("目的データ:No.%d",mid);
116
116
 
117
- > mid=(low+high)/2;
117
+ return 0;
118
118
 
119
- >
119
+ }
120
120
 
121
- > if(key==a[mid])
121
+ else if(key<a[mid])
122
122
 
123
- > {
123
+ {
124
124
 
125
- > printf("目的データ:No.%d",mid);
125
+ high=mid-1;
126
126
 
127
- > return 0;
127
+ }
128
128
 
129
- > }
129
+ else if(key>a[mid])
130
130
 
131
- > else if(key<a[mid])
131
+ {
132
132
 
133
- > {
133
+ low=mid+1;
134
134
 
135
- > high=mid-1;
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

2018/06/30 04:16

投稿

xxxrrrr
xxxrrrr

スコア17

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

2018/06/30 04:13

投稿

xxxrrrr
xxxrrrr

スコア17

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

2018/06/30 04:13

投稿

xxxrrrr
xxxrrrr

スコア17

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
- ここにより詳細な情報を記載してください。