Correzione verifica 2D
Il seguente esercizio deve essere fatto con l’uso di funzioni:
1.scrivere una funzione che valorizzare un array di dimensione 100 con 15 interi casuali compresi tra -20 e 50 ;
2.scrivere una funzione che visualizza l’array sopra valorizzato;
3.scrivere una funzione(con il ciclo while e senza uso del break ) che cerca se nell’array è uscito un dato numero e visualizza :
“Numero dato uscito alla fine”
oppure
“Numero dato uscito nella posizione tot”
oppure
“Numero dato non uscito”;
4.richiamare nel main le due funzioni per eseguire il programma;
/* Prof. Alessandro Barazzuol */ #include<iostream> #include<string> #include<cstdlib> #include<ctime> #include<iomanip> #define dim 100 using namespace std; void valorizza(int array[dim]) { int i=0,n=0; for(int i=0;i<15;i++) { n=rand()%71-20;//mette numeri da -20 a 50 array[i]=n; } } void visualizza(int array[dim]) { cout<<endl; for(int i=0;i<15;i++) { cout<<" "<<array[i]; } cout<<endl; } void cerca(int array[dim], int n ) { int i=0; while(array[i]!=n && i!=14) { i++; } /* da qui esce se: 0 1 trovato prima della fine 1 0 non trovato prima della fine oppure anche 0 0 trovato alla fine altrimenti se 1 1 continua */ if(i==14 && array[i]==n)// caso 0 0 { cout<<"Trovato "<< n <<" alla fine "<<endl; } else if( array[i]==n && i!=14 )// caso 0 1 cout<<"Trovato "<< n <<" alla posizione "<<i<<endl; else// caso 1 0 cout<<"Numero " << n<<" non trovato\n"; } int main() { int array[dim]; int h=25; srand(time(0)); valorizza(array); visualizza(array); cerca(array,h); }