回答編集履歴
1
コードの修正
answer
CHANGED
@@ -1,6 +1,4 @@
|
|
1
|
-
j = 0 のとき、at[j-1] を参照するなどの問題があります
|
1
|
+
j = 0 のとき、at[j-1] を参照するなどの問題があります。
|
2
|
-
|
3
|
-
書き直してみました。
|
4
2
|
```C++
|
5
3
|
#include <iostream>
|
6
4
|
#include <fstream>
|
@@ -9,14 +7,11 @@
|
|
9
7
|
|
10
8
|
void search(vector<int> array, vector<int> at)
|
11
9
|
{
|
12
|
-
for (int i = 1; i < array.size(); i++)
|
10
|
+
for (int i = 1; i < array.size(); i++)
|
13
|
-
for (int j = 1; j < array.size(); j++)
|
11
|
+
for (int j = 1; j < array.size(); j++)
|
14
12
|
if (array[i] == at[j] && array[i-1] == at[j-1]
|
15
|
-
|| array[i] == at[j-1] && array[i-1] == at[j])
|
13
|
+
|| array[i] == at[j-1] && array[i-1] == at[j])
|
16
14
|
cout << ' ' << array[i-1] << ' ' << array[i];
|
17
|
-
}
|
18
|
-
}
|
19
|
-
}
|
20
15
|
cout << '\n';
|
21
16
|
}
|
22
17
|
|
@@ -26,11 +21,8 @@
|
|
26
21
|
if (!fin) { cout << "There is NOT a file.\n"; return 1; }
|
27
22
|
|
28
23
|
int N;
|
29
|
-
while (1) {
|
30
|
-
fin >> N;
|
31
|
-
|
24
|
+
while (fin >> N, fin && N > 0) {
|
32
|
-
vector<int> array(N);
|
25
|
+
vector<int> array(N), at(N);
|
33
|
-
vector<int> at(N);
|
34
26
|
for (int i = 0; i < N; i++) fin >> array[i];
|
35
27
|
for (int i = 0; i < N; i++) fin >> at[i];
|
36
28
|
search(array, at);
|