Informatica 2 Liceo Scientifico Scienze Applicate/Es Usiamo i vettori
Usare i vettori
[modifica | modifica sorgente]Inserimento dei dati in un vettore
[modifica | modifica sorgente]Pensiamo di dover inserire i dati in un vettore di dimensione 5, vuol dire che dobbiamo inserire dei valori nelle 5 celle del vettore numerate da 0 a 4 (valore dell'indice)
per inserire il valore nella cella 0 dovrei dare il comando cin>>vett[0]; per inserire il valore nella cella 1 dovrei dare il comando cin>>vett[1]; per inserire il valore nella cella 2 dovrei dare il comando cin>>vett[2]; per inserire il valore nella cella 3 dovrei dare il comando cin>>vett[3]; per inserire il valore nella cella 4 dovrei dare il comando cin>>vett[4];
mi accorgo che l'operazione si ripete per cinque volte, e che l'unica cosa che cambia e' il numero fra parentesi quadrate, uso una istruzione for che ripete per cinque volte il comando cin>>vett[i];
e scrivo fra parentesi quadrate la variabile i che funge da contatore e che nel ciclo iniziale vale zero, in quello successivo 1 e cosi via fino a 4. L'uso del ciclo for diventa necessario se nel vettore ci sono molti elementi.
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
int vett[5];
int i;
for (i=0;i<5;i++)
{ cout<<"inserisci il "<<i<<" elemento ";
cin>>vett[i];
}
system ("PAUSE");
return 0;
}
Inserimento e stampa dei dati di un vettore
[modifica | modifica sorgente]#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
int n=4;
int vett[n];
int i;
//inserimento dati vettore
for(i=0;i<n;i++)
{ cout<<"inserisci il "<< i<<" elemento del vettore ";
cin>>vett[i];
}
//stampa dati vettore
cout<<"gli elementi inseriti nel vettore sono:"<<endl;
for(i=0;i<n;i++)
cout<<vett[i]<<" ";
cout<<endl;
system ("PAUSE");
return 0;
}
Inserimento e conteggio occorrenze del numero 3 nel vettore
[modifica | modifica sorgente]#include <cstdlib>
#include <iostream>
using namespace std;
/* ricercare il numero 3 all'interno di un vettore*/
int main(int argc, char *argv[])
{
int n;
cout<<"inserisci il num di elementi nel vett";
cin>>n;
cout<<endl;
int a[n];
int i;
int conta=0;
int elementodaricercare=3;
for(i=0;i<n;i++)
{
cout<<"Inserisci un num nel vett: ";
cin>>a[i];
cout<<endl;
}
for(i=0;i<n;i++)
{
if(a[i]== elementodaricercare)
conta++;
}
cout<<" Il num 3 si trova: "<<conta<<" volte"<<endl;
system ("PAUSE");
return 0;
}
Ricerca di un numero in un vettore disordinato
[modifica | modifica sorgente]Dopo aver inserito i dati in un vettore ricercare nel vettore se e' presente un numero scelto dall'utente e visualizzarne la posizione della prima occorrenza
#include <cstdlib>
#include <iostream>
using namespace std;
/* ricerca di un numero all'interno di un vettore disordinato
obiettivo utilizzo dei vettori
*/
int main(int argc, char *argv[])
{
int vett[4];
int n=4;
int i;
int elementodaricercare;
int posizioneelemento;
bool trovato;
for (i=0;i<n;i++)
{
cout<<"inserisci l'elemento di posizione "<< i << endl;
cin>>vett[i];
}
cout<<"inserire l'elemento da cercare ";
cin>> elementodaricercare;
trovato=false;
i=0;
while((!trovato)&&( i<n))
{
if(vett[i]== elementodaricercare)
{
trovato=true;
posizioneelemento=i;
}
else
{
i++;
}
}
if(trovato)
cout<<" l'elemento si trova nella posizione: "<< posizioneelemento;
else
cout<<" l'elemento non si trova ";
system("PAUSE");
return 0;
}
Trovare in un vettore di 10 elementi il max e la pos massimo
[modifica | modifica sorgente]Dopo aver inserito i dati in un vettore ricercare nel vettore se e' presente un numero scelto dall'utente e visualizzarne la posizione della prima occorrenza
#include <iostream>
#include <cstdlib>
using namespace std;
int main(int argc, char** argv)
{ int const n=10;
int i;
int vetta[n];
int massimo, posmassimo;
//inserire i valori da tastiera nel vetta
for(i=0;i<n;i++)
{ cout<<"inserisci l'elemento di indice "<<i<<" del vettore A ";
cin>>vetta[i];
}
//stampa gli elementi del vettore A
cout<<"questi sono gli elementi del vettore A "<<endl;
for(i=0;i<n;i++)
cout<<vetta[i]<<" ";
cout<<endl;
massimo=vetta[0];
posmassimo=0;
for(i=1;i<n;i++)
if(vetta[i]>massimo)
{ posmassimo=i;
massimo=vetta[i];
}
cout<<"il max del vett A vale" <<massimo<<endl;
cout<<" e si trova nella posizione di indice " <<posmassimo<<endl;
return 0;
}