teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

3

コードの修正

2019/11/22 10:05

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -1,6 +1,13 @@
1
1
  C++でテキストファイルを読みvector配列に格納した単語に、二分探索を適用して、指定された単語を検索するプログラムを作成しています.
2
2
  辞書順にソートを行った後に、探索単語の受け付けと探索の実行を繰り返すループを入れたいです.探索は終了指示マーク($$)を受け付けるまで繰り返します.
3
+ コードを以下のように修正したのですが,
4
+ if (!inFile) {
5
+ cout << "入力ファイルを開けません" << endl;
6
+ return;
7
+ }
3
- 以下コードまで書いたですが,binary_search(vector.begin(), vector.end(), a);の部分に「main関数は'void'型として宣言されていますが、値を返しした」というエラーが出ます.コードをどのように修正したらよいでしょうか?また,他にも直したらよいところはありますか教えてください.よろしくお願いします.
8
+ returnの部分に「'main': 関数が値を戻すように宣言されていますが、関数定義に 'return' ステートメントがありせん」というエラーが出ます.エラーを消すには,コードをどのように修正したらよいでしょうか?
9
+ 他にもおかしいところがあったら教えてください.
10
+ よろしくお願いします.
4
11
  ```C++
5
12
  #include <iostream>
6
13
  #include <fstream>
@@ -10,7 +17,7 @@
10
17
  using namespace std;
11
18
 
12
19
  //メイン関数
13
- void main() {
20
+ int main() {
14
21
 
15
22
  ifstream inFile; //入力ファイル
16
23
  string word; //単語
@@ -41,12 +48,13 @@
41
48
  //vector配列に格納した単語を、辞書順にソートする
42
49
  sort(vector.begin(), vector.end());
43
50
 
44
- char a;
51
+ string a;
52
+
53
+ while ("$$"==a ) {
45
- cout << "探索単語?";
54
+ cout << "探索単語?";
46
- cin >> a;
55
+ cin >> a;
47
- while (a == '$$') {
56
+ binary_search(vector.begin(), vector.end(), a);
48
57
 
49
- return binary_search(vector.begin(), vector.end(), a);
50
58
  if(true){
51
59
  cout << "存在する" << endl;
52
60
  }

2

コードの修正

2019/11/22 10:05

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -1,6 +1,6 @@
1
1
  C++でテキストファイルを読みvector配列に格納した単語に、二分探索を適用して、指定された単語を検索するプログラムを作成しています.
2
2
  辞書順にソートを行った後に、探索単語の受け付けと探索の実行を繰り返すループを入れたいです.探索は終了指示マーク($$)を受け付けるまで繰り返します.
3
- 以下のコードまで書いたのですが,binary_search(vector.begin(), vector.end(), a);の部分にエラーが出ます.コードをどのように修正したらよいでしょうか?また,他にも直したらよいところはありますか?教えてください.よろしくお願いします.
3
+ 以下のコードまで書いたのですが,binary_search(vector.begin(), vector.end(), a);の部分に「main関数は'void'型として宣言されていますが、値を返しました」というエラーが出ます.コードをどのように修正したらよいでしょうか?また,他にも直したらよいところはありますか?教えてください.よろしくお願いします.
4
4
  ```C++
5
5
  #include <iostream>
6
6
  #include <fstream>
@@ -46,7 +46,7 @@
46
46
  cin >> a;
47
47
  while (a == '$$') {
48
48
 
49
- binary_search(vector.begin(), vector.end(), a);
49
+ return binary_search(vector.begin(), vector.end(), a);
50
50
  if(true){
51
51
  cout << "存在する" << endl;
52
52
  }

1

コードの修正

2019/11/20 15:32

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -1,6 +1,6 @@
1
1
  C++でテキストファイルを読みvector配列に格納した単語に、二分探索を適用して、指定された単語を検索するプログラムを作成しています.
2
2
  辞書順にソートを行った後に、探索単語の受け付けと探索の実行を繰り返すループを入れたいです.探索は終了指示マーク($$)を受け付けるまで繰り返します.
3
- 以下のコードまで書いたのですが,探索単語受け付けと探索の実行を繰り返すルプのコードをどのように書いたらわかりません.教えてください.よろしくお願いします.
3
+ 以下のコードまで書いたのですが,binary_search(vector.begin(), vector.end(), a);部分にエラが出ます.コードをどのように修正したらでしょう?また,他にも直したらよいところはありますか?教えてください.よろしくお願いします.
4
4
  ```C++
5
5
  #include <iostream>
6
6
  #include <fstream>
@@ -40,5 +40,19 @@
40
40
 
41
41
  //vector配列に格納した単語を、辞書順にソートする
42
42
  sort(vector.begin(), vector.end());
43
+
44
+ char a;
45
+ cout << "探索単語?";
46
+ cin >> a;
47
+ while (a == '$$') {
48
+
49
+ binary_search(vector.begin(), vector.end(), a);
50
+ if(true){
51
+ cout << "存在する" << endl;
52
+ }
53
+ else {
54
+ cout << "存在しない" << endl;
55
+ }
56
+ }
43
57
  }
44
58
  ```