


Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Questi appunti sono stati interamente formattati su word per fornire una spiegazione chiara e precisa del concetto. Il contenuto sono gli array con richiami teorici, sintassi c++ e lo shift degli elementi.
Tipologia: Appunti
1 / 4
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!



Un vettore (o array monodimensionale) è una struttura di dati statica, di tipo sequenziale, identificata da un nome e costituita da un insieme di elementi omogenei fra loro, individuabili per mezzo di un indice. Il vettore è l'insieme di variabili dotato di un nome, che identifica il vettore come struttura: i suoi singoli elementi verranno referenziati specificando la loro posizione relativa all'interno di tale struttura (mediante l'indice). Si può immaginare un array monodimensionale come una specie di "casellario", le cui caselle sono dette elementi (o celle) dell'array stesso. Ciascuna delle celle si comporta come una variabile tradizionale; tutte le celle sono variabili di uno stesso tipo preesistente, detto tipo base dell'array. Si parla perciò di array di interi, array di caratteri, array di stringhe e così via. Ciascuna delle celle dell'array è identificata da un valore indice, generalmente numerico, che può assumere come valori numeri interi consecutivi che partono da 0 o da 1. Si può quindi parlare delle celle di indice 0, di indice 1 e, in generale, di indice N, dove N è un intero compreso fra 0 (o 1) e il valore massimo per gli indici dell'array (che determina la dimensione dell'array). Nel linguaggio C/C ++ ogni elemento di un vettore viene identificato da un numero, contando a partire da 0 e arrivando a N - 1 (se la dimensione è uguale a N = 10 il valore massimo dell'indice sarà 9). Pensaci bene: quando diciamo che un palazzo ha 5 piani, in realtà ha sei livelli: infatti il piano terra è il primo livello, il primo piano il secondo, e così via. Lo stesso succede nell'array: se, ad esempio, abbiamo un array di dimensione 6, i suoi indici andranno da 0 a 5 e l'elemento richiamato tramite l'indice 3 sarà il quarto elemento, perché si inizia a contare da 0.
In molti problemi di informatica si ha la necessità di aggregare molti dati di tipo semplice, per facilitarne la rappresentazione e rendere più veloce il loro ritrovamento. Per ottenere questi scopi, i dati vengono organizzati in un insieme a cui viene attribuito il nome di “ struttura di dati ”. Il vettore è un insieme di elementi omogenei tra loro. Con una variabile possiamo indicare solo un dato, con il vettore possiamo indicare tanti dati dello stesso tipo con un solo nome collettivo di variabile: l’identificatore del vettore. Un vettore si definisce con la seguente sintassi: tipo nomeVettore [dimensione]; es: int T[10]; Le componenti di un vettore possono essere non solo numeriche, ma di uno qualsiasi dei tipi standard del linguaggio C (int,char, float). Un vettore, in generale, è una sequenza finita di elementi omogenei fra loro (tutti dello stesso tipo) e contigui (giacenti in memoria uno accanto all’altro). Di solito un vettore viene rappresentato come una successione di celle: Una matrice è un vettore a più dimensioni. Nel caso di due dimensioni, la matrice viene rappresentata con una tabella. UTILITA’ DEL VETTORE Talvolta, una sequenza di valori può essere gestita senza necessariamente memorizzarli tutti, ma nella maggior parte dei casi è necessario conservarli per operare in tempi differenti. Il vettore rende disponibile una serie di celle, nelle quali possono trovare posto i valori da memorizzare, quindi è utile perché può conservare tutti i valori di una sequenza. GESTIONE DI UN VETTORE Bisogna dichiarare quanti elementi al massimo potranno trovare posto nel vettore, e di quale tipo. Questa operazione viene definita dimensionamento del vettore. Dato che un vettore di solito contiene più valori, si pone il problema di indicare a quale di essi ci vogliamo riferire. È sempre necessario accompagnare il vettore con una variabile numerica intera, detta indice, che di volta in volta indica la posizione dell’elemento a cui ci si riferisce. In C++ gli indici di vettori e matrici partono da 0. CARICARE UN VETTORE DI N ELEMENTI CON NUMERI INTERI INSERITI DA TASTIERA Si dichiara un intero N e si chiede all’utente di inserire il valore da tastiera. Con un ciclo do-while controlliamo questo valore e se è minore o uguale a 0, richiediamo l’inserimento. Dopo dichiariamo un vettore di N elementi int v[N]. Poi con un ciclo for, con un indice i che scorre il vettore dalla prima posizione, inseriamo gli elementi. Supponendo che N è 5, inseriamo i seguenti valori da tastiera: 3, 5, 12, - 2, 9.
Esempio :Vai al cinema con un gruppo di amici. Dopo esserti seduto, noti che un tuo amico non è vicino alla sua ragazza. Decidi, quindi, di far scalare ognuno di un posto, in modo da liberare la poltrona vicina al tuo amico. Hai appena effettuato uno shift. Lo shift è l'operazione che consente di spostare di una posizione (a destra o a sinistra) tutti gli elementi di un vettore (shift completo) o solo una parte di essi (shift parziale). Possiamo quindi effettuare uno: