回答編集履歴

1

コードの修正

2019/07/04 02:24

投稿

kazuma-s
kazuma-s

スコア8224

test CHANGED
@@ -1,8 +1,4 @@
1
- j = 0 のとき、at[j-1] を参照するなどの問題があります
1
+ j = 0 のとき、at[j-1] を参照するなどの問題があります。
2
-
3
-
4
-
5
- 書き直してみました。
6
2
 
7
3
  ```C++
8
4
 
@@ -20,21 +16,15 @@
20
16
 
21
17
  {
22
18
 
23
- for (int i = 1; i < array.size(); i++) {
19
+ for (int i = 1; i < array.size(); i++)
24
20
 
25
- for (int j = 1; j < array.size(); j++) {
21
+ for (int j = 1; j < array.size(); j++)
26
22
 
27
23
  if (array[i] == at[j] && array[i-1] == at[j-1]
28
24
 
29
- || array[i] == at[j-1] && array[i-1] == at[j]) {
25
+ || array[i] == at[j-1] && array[i-1] == at[j])
30
26
 
31
27
  cout << ' ' << array[i-1] << ' ' << array[i];
32
-
33
- }
34
-
35
- }
36
-
37
- }
38
28
 
39
29
  cout << '\n';
40
30
 
@@ -54,15 +44,9 @@
54
44
 
55
45
  int N;
56
46
 
57
- while (1) {
47
+ while (fin >> N, fin && N > 0) {
58
48
 
59
- fin >> N;
60
-
61
- if (!fin || N <= 0) break;
62
-
63
- vector<int> array(N);
49
+ vector<int> array(N), at(N);
64
-
65
- vector<int> at(N);
66
50
 
67
51
  for (int i = 0; i < N; i++) fin >> array[i];
68
52