Salve a tutti, mi scuso in partenza se commetterò degli errori ma è la seconda volta che uso questo forum e non sono esperto.

Come leggete da titolo ho un problema con un esercizio sugli array in c++.
questo è il testo:

Scrivere un programma che legge due sequenze A e B rispettivamente di n ed m interi
(n ed m dati di input, < 100), e ne determina e stampa l'intersezione insiemistica
(ovvero, tutti e soli gli elementi comuni alle due sequenze). Stampare un opportuno
messaggio se l'intersezione risulta vuota. N.B. Si assuma per semplicità che i numeri
immessi siano tutti diversi tra loro.

Allora questo è il mio programma.

codice:
#include <iostream>
using namespace std;
int main(){
    int a1[100];
    int b2[100];
    int n,a,z;
    int m,b,x;
    int j;
    a=0;
    b=0;
    j=0;
    cout << "Dimmi il numero degli elementi della prima sequenza" << endl;
    cin >> n;
    for ( a=0; a<n ;a++){
        cout <<"Dammi un numero";
        cin >> a1[a];
        cout << endl;
        }
    cout << "Dimmi il numero degli elementi della seconda sequenza" << endl;
    cin >> m;     
    for ( b=0; b<m ;b++){
         cout <<"Dammi un numero";
        cin >> b2[b];
        cout << endl;
        } 
    cout <<"L'intersezione tra le due sequenze date è ";
    a = 0;
    b = 0;
    while(a < n){
                    while(b < m){
                    z = a1[a];
                    x = b2[b];
                    if(z = x){
                         j = j +1;
                         cout << z ; 
                         }
                         
                         b = b+1;
                         }
                         b = 0;
                         a = a+1;
                         }
                                    if (j = 0)
                                    cout << " vuota" << endl;
                                    cout << endl;
                    
                     system("pause");
                     return 0;
                     }
Il problema viene fuori solo nell'ultima parte del testo esattamente nell'ultimo if, in cui a quanto pare entra tutte le volte e mi stampa tutti gli elementi dell'array b2 anche se gli dico di stampare quelli di a1.

Sapreste aiutarmi?