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

回答編集履歴

1

間違ったコードを提示して今いました。

2020/04/29 07:02

投稿

kazuma-s
kazuma-s

スコア8222

answer CHANGED
@@ -5,34 +5,25 @@
5
5
  cout << test[i] << endl; で余分な改行が出てしまいます。
6
6
 
7
7
  ```C++
8
- #include <stdio.h>
9
- #include <stdlib.h> // qsort
8
+ #include <iostream> // cout
9
+ #include <fstream> // ifstream
10
+ #include <string> // getline
11
+ using namespace std;
10
12
 
11
- struct Data {
12
- int time;
13
- int se; // start:1, end:-1
14
- };
15
-
16
- int comp(const void *x, const void *y)
13
+ int main(int argc, char*argv[])
17
14
  {
15
+ if (argc != 2) {
16
+ cout << "パラメータの数が違います。\n";
17
+ return 1;
18
+ }
19
+ ifstream fin(argv[1]);
20
+ if (!fin) {
18
- int d = ((struct Data *)x)->time - ((struct Data *)y)->time;
21
+ cout << "ファイルをオープンできませんでした\n";
22
+ return 1;
23
+ }
24
+ string test;
25
+ while (getline(fin, test))
19
- return d ? d : ((struct Data *)x)->se - ((struct Data *)y)->se;
26
+ cout << test << endl;
20
27
  }
21
-
22
- int main()
23
- {
24
- struct Data data[100 * 2];
25
- int n, k = 0;
26
- scanf("%d", &n);
27
- for (int i = 0; i < n; i++) {
28
- scanf("%d%d", &data[k].time, &data[k+1].time);
29
- data[k].se = 1, data[k+1].se = -1, k += 2;
30
- }
31
- qsort(data, k, sizeof *data, comp);
32
- int m = 0, max = 0;
33
- for (int i = 0; i < k; i++)
34
- if ((m += data[i].se) > max) max = m;
35
- printf("%d\n", max);
36
- }
37
28
  ```
38
29
  質問のコードには連続する複数の空行がありますが、何の意味があるんですか?