Esempi di programmi con array

Programma che legge un array e scrive cio' che contiene:

>>dichiarazione di array, uso di elementi di array

#include <stdio.h>
int a[5];
int i;

main()

{
for(i=0; i<5; i++) scanf("%d", &a[i]);
printf("vettore a:");
for(i=0; i<5; i++) printf("%d ", a[i]);
printf("\n");
}

Programma che cerca il minimo in un array: importanza delle scritture di controllo; visualizzare in modo comprensibile

#include <stdio.h>
int a[5];
int i, min;

main()

{
/* lettura dati e scrittura di controllo */
for(i=0; i<5; i++) scanf("%d", &a[i]);
printf("vettore a:");
for(i=0; i<5; i++) printf("%d ", a[i]);
printf("\n");
/* ricerca del minimo */
min=a[0];
for (i=1; i<5; i++) if (a[i]<min) min=a[i];
/* scrittura del risultato */
printf("min= %d\n",min);
}

Programma che legge un array b, calcola un secondo array a contenente il triplo dei valori e ne stampa il contenuto:

>> uso di "costanti" con #define, programmi facilmente adattabili a diverse dimensioni.

#include <stdio.h>
#define DIM 5
int a[DIM], b[DIM];
int i;

main()

{
for(i=0; i<DIM; i++) scanf("%d", &b[i]);
for (i=0; i<DIM; i++) a[i]= 3*b[i];
printf("vettore a:");
for(i=0; i<DIM; i++) printf("%d ", a[i]);
printf("\n");
}

Programma che legge un array e poi cerca se i valori dati in ingresso sono presenti o no. Se presenti stampa la posizione a cui sono stati trovati, se non presenti stampa solo un messaggio. Si suppone che tutti i numeri nell'array siano >0 e che la ricerca termini con un valore in ingresso <0. E' un esempio tipico di "uso di un archivio", in questo caso un archivio a[] di numeri interi.

>> uso di "booleani"

#include <stdio.h>
#define TRUE 1
#define FALSE 0
#define DIM 5
int a[DIM];
int i,j,nontro,pos;

main()

{
for(i=0; i<5; i++) scanf("%d", &a[i]);
printf("dammi un valore"); scanf("%d",&j);
while (j>0) /* se j>0 il numero potrebbe essere nell'array */

{
nontro=TRUE;
i=0;
while (i<DIM && nontro)
/* cerco finche' ci sono el.ti nell'array, oppure finche' lo trovo */

{
if (a[i]==j) { pos=i; nontro=FALSE; }
i++;
} /* fine del while i<DIM && nontro */

if(nontro) printf("non trovato\n");
else printf("trovato alla posizione %d\n",pos);
printf("dammi un valore"); scanf("%d",&j);
} /* fine del while j>0 */

}