まずはそのまま書いてみます。内側ループを抜ける条件が微妙ですが、関数化するのを忘れていたためです。もっと丁寧にやらないといけませんね。
#include <iostream> #include <array> using namespace std; static void inputArray(int A[], int num) { for (int i = 0; i < num; i++) { cin >> A[i]; } } int main() { array<int, 10000> N; array<int, 500> Q; int s, t; cin >> s; inputArray(&N[0], s); cin >> t; inputArray(&Q[0], t); int found = 0; for (int i = 0; i < t; i++) { for (int j = 0; j < s; j++) { if (N[j] == Q[i]) { found++; // exit loop j = N.size(); } } } cout << found << endl; return 0; }