PDA

Visualizza la versione completa : [C++] Valori di tipo bool e funzioni ricorsive


Laletta
13-02-2012, 11:19
Ciao ragazzi,
vi scrivo perch questo programmino mi da un problema... ma non capisco dove sta l'errore...


//picchi
#include <iostream>
using std::cout;
using std::cin;
using std::endl;

#include <iomanip>
using std::setw;

bool picchi(int i, int array[], int dim);

int main()
{
const int i=0;
int tasto;
const int dim=9;
int array[dim]={1,2,3,4,5,6,7,8,9};

for (int i=8;i<dim; i++)
cout<<"Posizione"<<setw(10)<<"Valore"<<endl;

for (int j=0;j<dim; j++)
cout<<setw(4)<<j<<setw(10)<<array[j]<<endl;
cout<<"la sequenza di numeri contiene picchi (restutisce il valore 1) \no non contiene picchi (restituisce il valore 0)"<<endl;
cout<<"\nil valore restituito e'"<<endl;
cout<<picchi<<endl;

cout<<"premere un tasto e invio per uscire"<<endl;
cin>>tasto;

return 0;
}

bool picchi(int i, int array[],int dim){
if(i==dim)
return false;
else (array[i-1] > array [i] && array[i+1]> array[i]);{
return true;
}
}


Penso abbiate gi capito che si tratta di quel giochino stupido dei picchi, ma il mio problema che mi da sempre 1(true) come valore di ritorno... ho provato anche a cambiare la sequenza di numeri, come potete vedere non ci sono picchi, eppure mi da come risultato TRUE... mi potreste aiutare?? Grazie mille :D

oregon
13-02-2012, 11:26
Devi usare correttamente i tag CODE per il codice ...

Per il problema ... che vuol dire questa riga ?


else (array[i-1] > array [i] && array[i+1]> array[i]);{

Laletta
13-02-2012, 11:27
penso che il problema sia in tutto l if... ma non so dove... mi sembra giusto, ma mi da sempre true...

oregon
13-02-2012, 11:32
Scusa ... ma ti ho fatto una domanda precisa ...

Laletta
13-02-2012, 11:34
scusami, il sonno si fa sentire...
vuol dire che se il valore prima di I e quello dopo di I sono maggiori di I si verifica il picco...
es. 3-2-4 in questo caso il 3 (array[i-1]) il 4 (array[i+1]) e il 2 (Array [i])

oregon
13-02-2012, 11:35
Ma non pensi che manchi il


Originariamente inviato da Laletta
... se...

?

Laletta
13-02-2012, 11:37
c' l'else...
ho usato la forma
if (condizione)
istruzione
ELSE(condizione)
istruzione

Laletta
13-02-2012, 11:38
comunque ho provato a fare come dici tu ed la stessa cosa =(((

oregon
13-02-2012, 11:42
Originariamente inviato da Laletta
c' l'else...
ho usato la forma
if (condizione)
istruzione
ELSE(condizione)
istruzione

Non esiste questa forma !

Rivedi quella if ... else perch non corretta.

Hai un valore di ritorno per la if, un valore di ritorno per la seconda if ma non hai un valore se non sono vere n la prima n la seconda if.

Laletta
13-02-2012, 11:45
quindi cosa mi consiglieresti di inserire?

Loading