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é?
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");
}
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é?