Ciao a tutti! Devo scrivere un programma in C++ che consideri due stringhe di testo e conti quante volte i caratteri della seconda sono presenti nella prima. Ho provato a usare gli array e a scrivere questo

codice:
#include <iostream>
#include <stdlib.h>
#include <string>
using namespace std;

int main () {
    int i , j , repeat;
    char p[10] , q[10];
    cout<<"Inserire il primo testo: ";
    cin>>p;
    cout<<"Inserire il secondo testo: ";
    cin>>q;
    for (i = 0 ; i < 10 ; ++i) {
        for (j = 0 ; j < 10 ; ++j) {
            while (p[i] == q[j]) {
                ++repeat;
            }
        }
    }
    cout<<repeat;
}
ma non funziona (dà dei risultati assurdi)...sapete aiutarmi? Grazie a tutti!