Linguaggio C

Gli array in linguaggio C

Esercitazione sugli array

/* Esercitazione sugli array
- Gli array sono strutture dati di tipo omogeneo 
  (al loro interno contengo dati dello stesso tipo)
- Un Array ha una dimensione prefissata
- L'indice di un array parte dal valore 0 e termina con il valore (dimensione-1)
*/
// Inclusione della libreria standard di IO
#include <stdio.h>

// Dichiarazione di una costante per mezzo della direttiva define
#define MAX 10

int main(){
	// Variabile contatore per gestire il ciclo for
	int i;
	// Dichiarazione di un array di tipo int di dimensione MAX
	int array[MAX];
	
	printf("*** ESEMPIO PRATICO GESTIONE ARRAY! ***\n");
	
	// Utilizzo del ciclo for per popolare l'array
	/* Il contatore parte da zero
	al più assumerà un valore < MAX
	per ogni iterazione il contatore i aumenta di 1
	*/
	////////////////////////////////////////////////////////////////
	for(i=0; i<MAX; i++){
		// TO DO
		/* 
		1) i=0
		2) i=1
		.) i=..
		..
		10) =10 esce dal ciclo e quindi non compie le istruzioni presenti dentro al for
		*/
		// Popolo array
		printf("--> Inserisci il valore di posizione array [%d]: ", i);
		scanf("%d", &array[i]);
	}
	printf("*** Fine ciclo for. Array popolato correttamente! ***\n\n");
	////////////////////////////////////////////////////////////////
	
	////////////////////////////////////////////////////////////////
	printf("*** Stampa dei valori contenuti nell'array ***\n");
	// Stampo i valori presenti nell'array
	for(i=0; i<MAX; i++){
		// Ad ogni ciclo stampo il valore del relativo elemento di posizione i-esima
		printf("--> Il valore di posizione array [%d], vale: %d\n", i, array[i]);
	}
	printf("*** Fine ciclo for di stampa valori! ***\n\n");
	////////////////////////////////////////////////////////////////
	
	////////////////////////////////////////////////////////////////
	printf("*** Stampa dei valori contenuti nell'array con posizione pari ***\n");
	// Stampa i valori dell'array di posizione pari
	for(i=0; i<MAX; i++){
		// Se il resto della divisione è 0, l'indice i-esimo sarà pari
		if(i%2 == 0){
			printf("--> Il valore di posizione array [%d], vale: %d\n", i, array[i]);
		}
	}
	printf("*** Fine ciclo for di stampa valori di posizione pari! ***\n\n");
	////////////////////////////////////////////////////////////////
	
	////////////////////////////////////////////////////////////////
	printf("*** Stampa dei valori dispari contenuti nell'array'***\n");
	// Stampa i valori dispari dell'array
	for(i=0; i<MAX; i++){
		// Se il resto della divisione è 1, il valore sarà dispari
		if(array[i]%2 == 1){
			printf("--> Il valore di posizione array [%d], vale: %d\n", i, array[i]);
		}
	}
	printf("*** Fine ciclo for di stampa valori dispari! ***\n\n");
	////////////////////////////////////////////////////////////////
}