Si scriva un programma completo in C++ che, lette da input due sequenze di caratteri entrambe terminate dal
carattere “.” (PUNTO), verifichi se le sequenze sono “disgiunte”. Due sequenze si dicono disgiunte se non
hanno elementi in comune. Nel caso in cui le due sequenze siano disgiunte, il programma deve stampare su
standard output la stringa DISGIUNTE. Qualora invece le due sequenze non fossero disgiunte, il programma
deve stampare il primo carattere della prima sequenza in comune con la seconda.
ESEMPIO: le due sequenze a b a c d . e e f g . sono disgiunte; quindi il programma dovrebbe stampare
DISGIUNTE.
invece, le due sequenze a b a c d . e e f c g b . non sono disgiunte; il programma dovrà stampare b poiché ‘b’
è il primo carattere della prima sequenza che si trova anche nella seconda....
bool controllo(char string_a[], char string_b[],int cont,int cont2);
bool controllo(char string_a[], char string_b[],int cont,int cont2)
{
for(int x=0; x<dim; x++)
{
for(int y=0; y!=x && y<dim; y++)
{
if (string_a [x] != string_b [y])
return true;
return false;
}
}
}
int main()
{
char string_a[dim];
char string_b[dim];
char c;
char s;
int cont=0;
int cont2=0;
while(c != '.')
{
cin>>c;
string_a[cont]=c;
cont++;
}
while (s != '.')
{
cin>>s;
string_b[cont2]=c;
cont2++;
}
if(controllo( string_a, string_b, cont, cont2))
cout<<"DISGIUNTE";
else
cout<<"non disgiunte";
return 0;
}
per adesso ho scriito questo ma nn riesco a fare l algoritmo che mi controlla i due array della funzione controlllo..... grazie per chiarimenti