Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Un array un tipo di dato che rappresenta un insieme ordinato di elementi dello stesso tipo. Ciascun elemento dellinsieme identificato da un indice univoco.
x[i]
Gli Array:
ichiara!ione ed Utili!!o
Ciascun elemento dellarray pu* essere recuperato indicando lindice corrispondente tra parentesi &uadrate.
+gni elemento di un array pu* essere utili!!ato come una &ualsiasi varia#ile del corrispondente tipo primitivo.
Gli indici usati per recuperare il valore di un elemento dellarray possono essere:
Costanti
Il compilatore C non controlla se gli indici specificati sono validi $cio appartengono ai limiti consentiti%.
"accesso
ad un elemento con indice non valido pu* non generare un errore, ma semplicemente un comportamento inaspettato.
!ounter"[5] = #1$2$3$%$5&
== == == == == 1; 2; 3; %; 5;
-on necessario ini!iali!!are tutti gli elementi: gli elementi non specificati saranno posti a !ero:
int
!ounter"[5] = #1$2&
5
Se un array viene ini!iali!!ato nella dichiara!ione non necessario specificare il massimo numero di elementi che pu* contenere:
!'ar
Un array multidimensionale un array i cui elementi hanno a loro volta tipo array. Gli array multidimensionali pi1 utili!!ati sono &uelli #idimensionali: matrici. ichiara!ione di un array #idimensionale:
int
matrix[10][5];
Accesso ad un elemento:
int
Anche gli array multidimensionali possono essere ini!iali!!ati direttamente durante la dichiara!ione.
-on
,serci!io (
Scrivere un programma C che richiede allutente () valori e li memori!!a allinterno di un array, &uindi stampa tutti &uelli maggiori o uguali dell9ultimo valore inserito.
,serci!io 2
Scrivere un programma C che: :ichiede allutente di inserire i vettori a e # di lunghe!!a ():
"!an/(
01i$1i$1i$2220$ 3a[0]$3a[1]$3a[2]$222
Il risultato un vettore in cui ciascun elemento la somma dei corrispondenti elementi nei vettori di input.
<:
>:
?:
prodotto scalare
$2, 3, 4% ; $4, /, 5% C $5, 7, ()% $2, 3, 4% D $4, /, 5% C $<2, <2, <2% $2, 3, 4% > $4, /, 5% C $7, (/, 24% $2, 3, 4% ? $4, /, 5% C 2>4 ; 3>/ ; 4>5 C 46
10
,serci!io 3
Scrivere un programma C che richiede allutente 2) voti $compresi tra (7 e 3)%. Eer ogni voto da (7 a 3) stampa il numero delle sue occorren!e e individua i voti che hanno pi1 occorren!e. Esempio: Se i voti immessi sono: (7 23 2( 2/ 28 3) (8 2( 23 24 23 3) 26 2( 28 24 2( 23 24 22 2( e 23 hanno 4 occorren!e e sono anche i voti col maggior numero di occorren!e. Il programma li deve individuare entram#i.
11
,serci!io 4
Scrivere un programma C che salva in ogni elemento di un array #idimensionale il valore $i;j% dove i il numero di riga e j il numero di colonna.
Scegliete
a piacere il numero di righe e colonne. FinchG lutente vuole continuare, il programma richiede allutente i valori i e j e stampa il corrispondente elemento a video, oppure un messaggio di errore se gli indici non sono validi.
12
,serci!io /
Scrivere un programma C che: :ichiede allutente di inserire due matrici &uadrate 3?3.
/or(
&
13
0atrice #:
1 4 5 0 7 1 3 2 3
0atrice c:
36 21 23 19 4 10 28 15 23
c[ 1 ][ 1 ] = a[ 1 ][ 1 ]*b[ 1 ][ 1 ] + a[ 1 ][ 2 ]*b[ 2 ][ 1 ] + a[ 1 ][ 3 ]*b[ 3 ][ 1 ] c[ 1 ][ 2 ] = a[ 1 ][ 1 ]*b[ 1 ][ 2 ] + a[ 1 ][ 2 ]*b[ 2 ][ 2 ] + a[ 1 ][ 3 ]*b[ 3 ][ 2 ] c[ 1 ][ 3 ] = a[ 1 ][ 1 ]*b[ 1 ][ 3 ] + a[ 1 ][ 2 ]*b[ 2 ][ 3 ] + a[ 1 ][ 3 ]*b[ 3 ][ 3 ] c[ 2 ][ 1 ] = a[ 2 ][ 1 ]*b[ 1 ][ 1 ] + a[ 2 ][ 2 ]*b[ 2 ][ 1 ] + a[ 2 ][ 3 ]*b[ 3 ][ 1 ] c[ 2 ][ 2 ] = a[ 2 ][ 1 ]*b[ 1 ][ 2 ] + a[ 2 ][ 2 ]*b[ 2 ][ 2 ] + a[ 2 ][ 3 ]*b[ 3 ][ 2 ] .