Gli array sono delle strutture dati molto basilari in C. Li potete vedere come una serie di elementi uno di fila all’altro TUTTI DELLO STESSO TIPO. Gli array, in un certo senso, li potete visualizzare come le liste in python.
questo è il codice per dichiarare un array di nome “a”, di tipo intero. RICORDATE: dovete sempre dichiarare la dimensione dell’array! Dovete dire al compilatore, quanto sarà grande quell’array, e la sua dimensione NON POTRA ESSERE CAMBIATA.
Li potete usare per fare un sacco di roba simpatica, ma ricordatevi che non siete più in python! non ci sono più funzioni tipo
per stampare tutto l’array! Per fare cose di questo genere dovrete usare dei cicli! Questo è figo, perchè vi farà capire che tutte quelle operazioni che a voi sembravano semplici e immediate con python in realtà impiegano del tempo! Si fanno tutte con un ciclo for!
questa printf stampa il valore dell’array con indice 2 (il terzo elemento)
questa istruzione assegna alla terza posizione dell’array a il valore 10.
ESERCIZIO1: Assegnamento e Stampa
Fai un programma che definisce un array di cinque elementi, che vanno da 1 a cinque. e stampali usando un ciclo for
Breakdown
int numeri[5] = {1, 2, 3, 4, 5};
: Dichiarazione e inizializzazione di un array di interi con cinque elementi.for (int i = 0; i < 5; i++) { ... }
: Ciclo for per scorrere e stampare gli elementi dell’array.
ESERCIZIO2: Somma degli Elementi
Fai un programma che definisce un array, e somma tutti gli elementi, stampando la somma totale.
Breakdown
int somma = 0;
: Dichiarazione e inizializzazione di una variabile per la somma.somma += numeri[i];
: Aggiornamento della variabile somma con l’aggiunta di ciascun elemento dell’array.printf("Somma degli elementi: %d\n", somma);
: Stampa della somma degli elementi.
ESERCIZIO3: Trova l’Elemento Massimo
Fai un programma che definisce un array e trova il numero massimo di quell’array
Breakdown
int massimo = numeri[0];
: Inizializzazione della variabile massimo con il primo elemento dell’array.if (numeri[i] > massimo) { ... }
: Verifica se l’elemento corrente è maggiore del massimo attuale e, in caso affermativo, aggiorna il valore massimo.printf("Elemento massimo: %d\n", massimo);
: Stampa dell’elemento massimo.
ESERCIZIO4: Ricerca di un Elemento
Fai un programma che definisce un array e ne trova un numero specifico (tipo l’8) e se lo trova ti dice che l’ha trovato, altrimenti ti dice che non l’ha trovato
Breakdown
int elemento_cercato = 8;
: Dichiarazione e assegnazione dell’elemento da cercare nell’array.int trovato = 0;
: Inizializzazione della variabile che indica se l’elemento è stato trovato.if (numeri[i] == elemento_cercato) { ... }
: Verifica se l’elemento corrente è uguale all’elemento cercato.trovato = 1; break;
: Imposta la variabiletrovato
a 1 se l’elemento è stato trovato e interrompe il ciclo.- Stampa del risultato della ricerca.
ESERCIZIO5: Copia di Array
Fai un programma che definisce un array, e copia il contenuto di quell’array. ATTENZIONE: non basta fare un assegnamento, se fai solo l’assegnamento, non stai copiando il contenuto dell’array, stai solo dicendo all’altra variabile di puntare al vecchio array, io voglio una COPIA.
Breakdown
int array_copia[5];
: Dichiarazione di un secondo array che sarà la copia.array_copia[i] = array_orig[i];
: Copia degli elementi daarray_orig
aarray_copia
.- Stampa degli elementi di
array_copia
.
ESERCIZIO6: Somma di Elementi tra Due Array
Fai un programma che presi due array li somma tra di loro. ESEMPIO: se gli array sono
la loro somma sarà:
SOLUZIONE:
Breakdown
int somma[5];
: Dichiarazione di un terzo array per contenere la somma.somma[i] = array1[i] + array2[i];
: Calcolo della somma degli elementi traarray1
earray2
.- Stampa degli elementi della somma.
ESERCIZIO7: Ordinamento di Array
Dato un array, ordinalo e stampalo, puoi fare un ordinamento semplice tipo bubble sort, o selection sort, oppure fare qualcosa di complicato tipo merge sort, e farmi felice.
Breakdown
int temp;
: Dichiarazione di una variabile temporanea per facilitare lo scambio di elementi durante l’ordinamento.- Algoritmo di ordinamento Bubble Sort per ordinare gli elementi in modo crescente.
- Stampa degli elementi ordinati.
ESERCIZIO8: Rimozione di Duplicati da un Array
Dato un array rimuovi gli elementi duplicati
Breakdown
int nuovi_numeri[8];
: Dichiarazione di un array per contenere gli elementi senza duplicati.- Utilizzo di un secondo array (
nuovi_numeri
) e di una variabilen
per tenere traccia del numero di elementi unici. - Verifica se l’elemento è già presente in
nuovi_numeri
prima di aggiungerlo.
ESERCIZIO9: Rotazione a Sinistra di un Array
La rotazione a sinistra significa che se l’array è tipo
l’array rotato è
come se avessi spostato in numeri di un passo a sinistra, e l’uno che era il primo numero diventa l’ultimo.
Fai un programma che dato un array fa lo shift a sinistra
Breakdown
int temp = numeri[0];
: Memorizzazione del primo elemento in una variabile temporanea.- Spostamento degli elementi verso sinistra di un passo.
- Assegnazione del valore memorizzato alla fine dell’array.
- Stampa dell’array dopo la rotazione.
ESERCIZIO10: Concatenazione di Due Array
Fare un programma che dati due array stampa la concatenazione dei due array. tipo se gli array sono:
L’array concatenato è:
Breakdown
int risultato[8];
: Dichiarazione di un terzo array per contenere la concatenazione.- Copia degli elementi da
array1
arisultato
. - Copia degli elementi da
array2
arisultato
partendo dalla posizione successiva alla fine diarray1
. - Stampa dell’array risultante.
Per continuare
per continuare potete fare esercizi sulle funzioni