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 */
}