APPUNTI SUL LINGUAGGIO C Corso di Calcolatori Elettronici APPUNTI SUL LINGUAGGIO C Esercitazione I Esercizi di base
Array Oss. N sia una costante (per esempio 5). Esercizio: Data una lista di N numeri (un array di N elementi) stampare il minimo e il massimo elemento tra gli N forniti da input. Oss. N sia una costante (per esempio 5).
Array #include <stdio.h> #define N 5 /* è noto a tutti che la dimensione del vettore è N */ int minimo (int vet[]) { int i, min; min = vet[0]; for (i = 1; i<N; i ++) if (vet[i]<min) min = vet[i]; return min; } int massimo (int vet[]) { int i, max; max = vet[0]; if (vet[i]>max) max = vet[i]; return max;
Array main () { int i, a[N]; printf ("Scrivi %d numeri interi\n", N); for (i = 0; i<N; i++) scanf ("%d", &a[i]); printf ("Il minimo vale %d e il massimo è %d\n", minimo(a), massimo(a)); }
Array Dati N valori interi forniti in ordine qualunque, stampare in uscita l'elenco dei valori dati in ordine crescente. Oss. N sia una costante (per esempio 5). Vettore di elementi di un certo tipo, sul quale è definita una relazione d’ordine totale : – Selection sort, o ordinamento per minimi successivi: – Ad ogni passo seleziona il minimo nel vettore e lo pone nella prima posizione, richiamandosi ed escludendo dal vettore il primo elemento.
Array posmin 2 5 1 -1 posmin -1 5 1 2 -1 5 1 2 Vettore corrente [0] [1] [2] [3] 2 5 1 -1 posmin [0] [1] [2] [3] [0] [1] [2] [3] -1 5 1 2 -1 5 1 2 Vettore corrente
Array #include <stdio.h> #define N 5 void leggi(int a[]) { int i; printf ("Scrivi %d interi\n", N); for (i = 0; i < N; i++) scanf ("%d", &a[i]); } void scrivi(int a[]) { printf ("Vettore ordinato:\n"); printf ("%d \t", a[i]);
Array void sort (int vet[]) { int j, i, posmin, min; for (j=0; j < N; j++) { posmin=j; min = vet[j]; for (i=j+1;i<N; i++) if (vet[i]<min) { min=vet[i]; posmin=i; } if (posmin != j) { /*scambio */ vet[posmin]=vet[j]; vet[j]= min;
Array main () { int i, a[N]; leggi(a); sort(a); scrivi(a); }
APPUNTI SUL LINGUAGGIO C Corso di Algoritmi e Strutture Dati APPUNTI SUL LINGUAGGIO C Esercizi di base FINE