Ciao a tutti. Ho scritto un programma che permette all'utente, una volta riempito un vettore, di cercare una parola a sua scelta. Il problema e' che, anche se inserisco un valore presente nel vettore, l'output e' sempre "negativo". Sapete dirmi perché?
EDIT: un altro problema che ho riscontrato e' che quando provo a inserire numeri negativi il programma smette di funzionare invece di dare errore, perché?codice:#include<iostream> #include<stdlib.h> #include<stdio.h> using namespace std; main() { int x,i,trovato=0; char val[1][20]; cout<<"Quanti valori vuoi inserire? (tra 1 e 100) "; //dichiarazione della lunghezza del vettore cin>>i; char v[i][20]; x=i; if(0>i || i>100) cout<<"Valore inserito non valido."<<endl; //se il numero non e' compreso fra 1 e 100 allora manda errore, altrimenti prosegue else { i=0; while(i<x) //riempimento vettore { cout<<"Inserisci un valore: "; cin>>v[i]; i++; } cout<<"Quale valore vuoi trovare? "; //richiesta della parola da trovare cin>>val[0]; i=0; while(i<x) //ciclo di controllo del vettore { if(v[i]==val[0]) //se la parola inserita corrisponde al vettore di cella i allora trovato e' vero { trovato=1; x=i; } i++; } if(trovato==1) cout<<"Valore trovato nella posizione "<<x<<"."<<endl; //output del risultato else cout<<"Valore non trovato."<<endl; } system("pause"); }

Rispondi quotando

