Funzione ricorsiva in c++

di il
1 risposte

Funzione ricorsiva in c++

Salve... sn uno studente universitario...a breve avrò gli esami e mi sto esercitando con degli appelli...il mio problema riguarda questa traccia:
scrivere in c++ una funzione ricorsiva che ricevuto un array di interi e la sua dimensione restituisca true se le somme di due interi consecutivi è alternativamente pari e dispari....esempio la sequenza
1326332 deve resituire true perchè 1+3=4,3+2=5,2+6=8 etc.
io ho scritto questo ma non va
#include <iostream>

using namespace std;
bool alterni(int A[],int dim,int i)
{
if(i==dim)
return true;
else{
if((A+A[i+1])%2==0 && (A[i+1]+A[i+2])%2!=0)
return alterni(A,i+2,dim);
else
return false;
}
}
bool alterni(int,int,int);
const int dim=7;
int main()
{
int A[dim];
int i;
for(int i=0;i<dim;i++)
cin>>A;
if (alterni(A,dim,i))
cout<<"si";
else
cout<<"no";

return 0;
}

1 Risposte

  • Re: Funzione ricorsiva in c++

    Scusa ma non puoi inserire una dimensione costante dispari... se no ti ritroverai con un valore fuori dalle coppie e questo è un caso che il tuo programma non prevede... in più leggendo la consegna ho notato che la funzione deve ricevere come argomenti la dimensione e il vettore tu invece gli inserisci tre parametri (bool alterni(int A[],int dim, int i))... temo dovrai cambiare tutta la funzione per ottenere un risultato...
Devi accedere o registrarti per scrivere nel forum
1 risposte