Vai al contenuto

Informatica 2 Liceo Scientifico Scienze Applicate/Es Usiamo i vettori

Wikibooks, manuali e libri di testo liberi.
Indice del libro

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;
}