Dovrei farlo con un while? Così?
codice:
bool coppieAlterne (int array1[], int array2[], const int dim, int &z)
{
while((array1[z] == array2[z+1]) && (array1[z+1] == array2[z]))
{
return true;
}
return false;
}
Se può servire l'intero codice:
codice:
#include <iostream>
using namespace std;
const int dim = 100;
int* array1 = new int [dim];
int* array2 = new int [dim];
int n = 0;
int m = 0;
int z = 0;
void leggiArray1 (int array1[], const int dim, int &n)
{
for(int i=0; i<dim; i++)
{
cin >> array1[i];
if(array1[i] == 0)
{
n++;
break;
}
else
n++;
}
}
void leggiArray2 (int array2[], const int dim, int &m)
{
for(int j=0; j<dim; j++)
{
cin >> array2[j];
if(array2[j] == 0)
{
m++;
break;
}
else
m++;
}
}
bool coppieAlterne (int array1[], int array2[], const int dim, int &z)
{
while((array1[z] == array2[z+1]) && (array1[z+1] == array2[z]))
{
return true;
}
return false;
}
int main()
{
leggiArray1(array1, dim, n);
leggiArray2(array2, dim, m);
if(n!=m)
{
cout<<" le due sequenze hanno dimensioni diverse e percio'"
<<" non possono essere a coppie alterne ";
return 0;
}
else
{
if(((n-1)%2)!=0 && ((m-1)%2)!=0)
{
cout<<" la dimensione delle sequenze DEVE essere pari ";
return 0;
}
}
if(coppieAlterne(array1,array2,dim,z)==true)
cout<<" le due sequenze sono a coppie alterne ";
else
cout<<" le due sequenze NON sono a coppie alterne ";
delete [] array1;
delete [] array2;
return 0;
}