回答編集履歴

1

コードの間違い

2019/11/20 04:27

投稿

退会済みユーザー
test CHANGED
@@ -1,6 +1,8 @@
1
1
  ```C++
2
2
 
3
+
4
+
3
- #include <iostream>
5
+ #include <iostream>
4
6
 
5
7
  #include <fstream>
6
8
 
@@ -14,102 +16,70 @@
14
16
 
15
17
 
16
18
 
17
- //プロトタイプ宣言
18
-
19
- bool precede(string str1, string str2);
20
-
21
-
22
-
23
19
  //メイン関数
24
20
 
25
21
  void main() {
26
22
 
27
23
 
28
24
 
29
- ifstream inFile; //入力ファイル
25
+ ifstream inFile; //入力ファイル
30
26
 
31
- string word; //単語
27
+ string word; //単語
32
28
 
33
- vector<string> vector;//vector配列
29
+ vector<string> vector;//vector配列
34
30
 
35
31
 
36
32
 
37
- //入力ファイルを開く
33
+ //入力ファイルを開く
38
34
 
39
- inFile.open("test.txt");
35
+ inFile.open("test.txt");
40
36
 
41
37
 
42
38
 
43
- // 入力ファイルが開けなければ終了する
39
+ // 入力ファイルが開けなければ終了する
44
40
 
45
- if (!inFile) {
41
+ if (!inFile) {
46
42
 
47
- cout << "入力ファイルを開けません" << endl;
43
+ cout << "入力ファイルを開けません" << endl;
48
44
 
49
- return;
45
+ return;
50
46
 
51
- }
47
+ }
52
48
 
53
49
 
54
50
 
55
- //ファイルから単語を読み込む
51
+ //ファイルから単語を読み込む
56
52
 
57
- inFile >> word;
53
+ inFile >> word;
58
54
 
59
55
 
60
56
 
61
- //ファイルの末尾でなければ、以下の処理を繰り返す
57
+ //ファイルの末尾でなければ、以下の処理を繰り返す
62
58
 
63
- while (!inFile.eof()) {
59
+ while (!inFile.eof()) {
64
60
 
65
61
 
66
62
 
67
- //単語を格納する
63
+ //単語を格納する
68
64
 
69
- vector.push_back(word);
65
+ vector.push_back(word);
70
66
 
71
67
 
72
68
 
73
- //新しい単語を読み込む
69
+ //新しい単語を読み込む
74
70
 
75
- inFile >> word;
71
+ inFile >> word;
76
72
 
77
- }
73
+ }
78
74
 
79
75
 
80
76
 
81
- //vector配列に格納した単語を、長さ順にソートする
77
+ //vector配列に格納した単語を、辞書順にソートする
82
78
 
83
- sort(vector.begin(), vector.end(), precede);
79
+ sort(vector.begin(), vector.end());
84
-
85
-
86
-
87
- //結果を表示する
88
-
89
- for (unsigned i = 0; i < vector.size(); i++) {
90
-
91
- cout << vector[i] << endl;
92
-
93
- }
94
80
 
95
81
  }
96
82
 
97
83
 
98
84
 
99
- //単語の長さによって要素の大小を判定する
100
-
101
- bool precede(string str1, string str2)
102
-
103
- {
104
-
105
- if (str1.length() < str2.length())
106
-
107
- return true;
108
-
109
- else
110
-
111
- return false;
112
-
113
- }
114
-
115
85
  ```