C++: array o vettore

Alexander Averin

L'array è un insieme di elementi omogenei fra loro. Con una variabile possiamo indicare solo un dato, con l'array possiamo indicare tanti dati dello stesso tipo con un solo nome collettivo di variabile: l'identificatore dell'array. Gli elementi si distinguono uno dall'altro attraverso l'indice che viene assegnato nell'array, e che viene posto accanto all'identificatore dell'array.

Un array si definisce con la seguente dichiarazione:

tipo NomeArray[dimensione];

Alla normale dichiarazione di variabile si aggiunge semplicemente, tra parentesi quadre, il numero di elementi (dimensione) che compongono l'array.

Per esempio, la seguente dichiarazione crea un array di 10 elementi di tipo double:

double coeff[10];

L'indice è solitamente una variabile di tipo int.

Si può usare l'istruzione di asegnazione:

coeff[7]=7;

oppure produrre in output i valori delle componenti di un array con un ciclo for:

for (int i=0; i<10; i++){

cout<<coeff[i]<<endl;

}

La numerazione degli indici del linguaggio in C++ inizia da 0 e quindi, nel nostro esempio, gli elementi dell'array sono coeff[0], coeff[1], ...,coeff[9].

E' possibile inizializzare un array assegnando i valori alle componenti in fase di dichiarazione, come in questo esempio:

double numeri[3]={2.5,1.2,3.0}

I valori indicati all'interno delle parentesi graffe e separati dalla virgola.

Per passare un vettore ad una funzione è sufficiente indicare il nome del vettore ad esempio il seguente esempio legge un vettore e lo restituisce alla main, poi chiamo una funzione che lo stampa a video:

#include <iostream>
using namespace std;
const int MAX=100;
void ReadVector(int v[],int d);
void WriteVector(int v[],int d);

main(){
int d;
int v[MAX];

cout<<"Inserisci la dimensione del vettore: ";
cin>>d;
ReadVector(v,d);
WriteVector(v,d);
return 0;

}

Void ReadVector(int v[],int d)
{
for (int i=0;i<d;i++)
{
cout<<"Elemento di posto "<<i<<": ";
cin>>v[i];
}

}

void WriteVector(int v[],int d)
{
for (int i=0;i<d;i++)
{
cout<<v[i]<<endl;
}
}

 

Informazioni su Francesco Bragadin

Insegno informatica e telecomunicazioni al liceo scienze applicate ed all'indirizzo informatica e telecomunicazioni. Ho terminato gli studi in ingegneria elettronica e telecomunicazioni lavorando per molti anni come libero professionista nell'ambito della gestione storage e disaster recovery su mainframe.
Questa voce è stata pubblicata in Senza categoria. Contrassegna il permalink.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *