Problema: scrivere un programma che, ricevuto in input un intero n ed n interi positivi, li stampi in ordine inverso.
Per risolvere un problema molto semplice occorrerebbe scrivere un programma lunghissimo anche nel caso che n fosse dell’ordine delle centinaia.
Per manipolare molti elementi dello stesso tipo, linguaggi imperativi permettono l’uso della struttura dati array
Un array è un insieme ordinato di elementi dello stesso tipo.
Gli elementi di un array sono detti componenti ed il loro tipo è chiamato componente-tipo dell’array.
I componenti di un array sono immagazzinati in posizioni consecutive di memoria.
L’intero array é identificato da un nome specificato secondo le regole generali degli identificatori.
La definizione di una variabile array monodimensionale è:
tipo-componente identificatore [espressione]
Dove:
Esempio in foto.
Per accedere ai componenti dell’array si usa l’operatore binario [ ]:
nome[espressione]
Dove:
L’operatore [] applicato ad un nome e un indice, definisce una variabile (r-value)
il cui indirizzo è dato dalla somma dell’indirizzo della variabile nome dell’array, sommato all’indice posto tra parentesi quadre:
float b[]={1.5,0.4,15};
b[0], b[1]
e b[2]
sono tre variabili reali
Come variabile nome[espressione] può essere usato:
Esempio in foto.
In generale dunque se la variabile A è stata definita come un array, A[espressione]
è a tutti gli effetti una variabile il cui tipo è quello dei componenti dell’array.
Se il valore dell’espressione è maggiore o uguale alla dimensione dell’array si ha un errore logico.
Vet[10]=2
non ha senso poiché si attribuisce un valore ad una variabile che non rappresenta una componente dell’array Vet
.Problema: scrivere un programma che, ricevuto in input un intero n ed n interi positivi, li stampi in ordine inverso.
esercizio 7.1
A è stato definito come un array di interi di dimensione 300.
Non è detto che questo array sia sempre pieno n<m.
Non bisogna dunque confondere tra la dimensione dell’array ed il numero di elementi effettivamente presenti nell’array.
for
che copi ogni elemento di B in A. Cioè:for(int i=0;i<n;i++)
A[i]=B[i];
Esercizi:
Sia V=[3,5,10,34,2,12,23,5] un vettore di interi.
Tenendo presente l'esempio,scrivere ciò che si ritiene che apparirà sul monitor
Sia V=[3,5,10,34,2,12,23,5] un vettore di interi.
Tenendo presente l'esempio, scrivere ciò che si ritiene che apparirà sul monitor
Sia V=[3, 5, -10, -34, 2, 12 , 23, 5] un vettore di interi.
Inserire dei termini opportuni affinché sul monitor siano stampati solo i valori positivi
Sia V=[3,5,-10,-34,2,12,23,5] un vettore di interi.
Inserire dei termini opportuni affinché sul monitor siano stampati in ordine inverso solo gli elementi di posto pari
Sia V=[3,5,-10,-34,2,12,23,5] un vettore di interi.
Inserire dei valori opportuni affinché sul monitor siano stampati solo i valori negativi scritti in ordine inverso
Esercizi:
while
)while
)1. Prime nozioni di Programmazione
2. C++ elementi di un programma
3. Le istruzioni di I/O standard
5. C++ funzioni matematiche ed espressioni booleane
6. Le strutture di controllo - parte seconda
8. Array di caratteri e tipi astratti
9. Astrazione procedurale: Procedure e Funzioni
10. Astrazione procedurale: Procedure e Funzioni -parte seconda
11. Astrazione procedurale: Procedure e Funzioni - parte terza
12. Librerie
13. Le strutture di controllo - parte terza
14. Algoritmi
16. I File di testo
17. La classe string