ho guardato il tuo codice e spero di averlo interpretato giustamente. Ci sono molte cose ridondanti e le ho messe a posto, anche se è possibile manchino alcuni controlli.
codice:
#include <iostream>
#include <cstdlib>
bool controlla(char *, char *);
using namespace std;
int main() {
const int L=50;
char a[L]="pane pera ago nero elica";
char app[L];
bool verifica=true;
int i=0, j=0;
while (a[i] != ' ') {
app[i] = a[i];
i++;
}
app[i] = '\0';
j=i;
cout << "Risultato verifica " << controlla(a, app) << endl;
}
bool controlla(char *a, char *app) {
if (!*app)
return true;
// cerca la prossima parola da analizzare
while (*a != ' ') a++;
while (*a == ' ') a++;
cout << *app << "-" << a << endl;
if (*a==*app)
return controlla(a, ++app);
else
return false;
}
spero ti possa essere utile