|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Aug 2010
Messaggi: 20
|
[c++]ricerca binaria
Ho scritto un programmino per fare una ricerca binaria...è rozzissimo ma secondo i miei calcoli dovrebbe funzionare...il problema è che non lo fa'...
il codice è il seguente: Codice:
#include <iostream>
#define MAX 10
using namespace std;
void leggivettore(int vettore[], int dimensione);
int ricercabinaria(int vettore[], int dimensione);
int main(){
int numeri[MAX];
cout<<"ricerca binaria"<<endl;
leggivettore(numeri, MAX);
return 0;
}
void leggivettore(int vettore[], int dimensione){
cout<<"inserire il vettore"<<endl;
for(int i=0;i<dimensione;i++){
cin>>vettore[i];
}
}
int ricercabinaria(int vettore[], int dimensione){
int I=0;
int F=10;
int x=0;
cout<<"inserire il numero da ricercare:"<<endl;
cin>>x;
do{
if(x>vettore[F/2]) I=F/2;
else if (x<vettore[F/2]) F=F/2;
else if (x==vettore[F/2]){
cout<<"la posizione del numero è:["<<F/2<<"]"<<endl;
return 0;
}
}while((x!=vettore[F/2])||(F/2=0));
cout<<"il numero nun ce sta'"<<endl;
}
e l'errore, che si trova nella terzultima riga è: Codice:
ricerca.cpp:41: error: lvalue required as left operand of assignment ah, dimenticavo, il vettore è ordinato. Ultima modifica di drunkenpenguin : 17-08-2010 alle 19:15. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2010
Città: Frosinone
Messaggi: 416
|
}while((x!=vettore[F/2])||(F/2=0));
forse == 0 o != 0? :E quando dice di guardare alla linea 41 il più delle volte è bene dare un'occhiata alla linea 41 ^_^ |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 03:00.



















