Originariamente inviato da mistergks
cosa c'è che non va?
Ci sono troppe cose che non vanno ... ti mostro il codice con tutte le correzioni ... dacci un'occhiata ...

codice:
#include <iostream>

using namespace std;

void separaparole(char *frase, char *arr[])
{
	int i=0;

	arr[i] = strtok(frase, " ");
     
	while(arr[i]!=NULL)
		arr[++i]=strtok(NULL, " ");
}

int controlla(char *parole1[], char *parole2[])
{
	int conta=0;

	for(int i=0; parole1[i]; i++)
		for(int j=0; parole2[j]; j++)
			if(strcmp(parole1[i], parole2[j])==0)
				conta++;

	return conta;
}
    
int main()
{
	char fraseA[20], fraseB[20];
	char *arrayA[100], *arrayB[100];

	strcpy(fraseA, "ciao come stai");
	strcpy(fraseB, "ciao io bene");

	separaparole(fraseA, arrayA);
	separaparole(fraseB, arrayB);
 
	cout << controlla(arrayA, arrayB) << endl;

	system("pause");
	return 0;
}