La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

APPUNTI SUL LINGUAGGIO C Esercizi sugli array e strutture

Presentazioni simili


Presentazione sul tema: "APPUNTI SUL LINGUAGGIO C Esercizi sugli array e strutture"— Transcript della presentazione:

1 APPUNTI SUL LINGUAGGIO C Esercizi sugli array e strutture
Corso di Calcolatori Elettronici APPUNTI SUL LINGUAGGIO C Esercitazione II Esercizi sugli array e strutture

2 Array Oss. N sia una costante (per esempio 5).
Esercizio: Dati N numeri memorizzarli in un array e poi stampare il minimo e il massimo elemento tra gli N forniti da input. Oss. N sia una costante (per esempio 5).

3 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;

4 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)); }

5 Array Dati N valori interi forniti in ordine qualunque, memorizzarli in un array e poi 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.

6 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

7 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]);

8 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;

9 Array main () { int i, a[N]; leggi(a); sort(a); scrivi(a); }

10 Strutture Si gestiscano insiemi di N punti
Esercizio: Si considerino i punti su di un piano cartesiano. Ogni punto è costituito da una coppia di coordinate (X,Y). Si definisca un progetto con le seguenti funzionalità: Si gestiscano insiemi di N punti un metodo per inizializzare gli elementi di un insieme un metodo per stampare su video gli elementi di un insieme Un metodo che dati due punti generi il punto medio Un metodo che dati due punti calcoli la distanza tra i due Un metodo che dato un punto calcoli in quale quadrante appartiene (si consideri un numero intero compreso tra 1 e 4) Un metodo che dato l’insieme di punti e il numero di quadrante (un numero intero tra 1 e 4) calcoli il numero di punti dell’insieme che appartengono a quel quadrante Oss. N sia una costante (per esempio 10).

11 Stringhe Esercizio: Si considerino stringhe lunghe massimo 30 caratteri (considerare solo le lettere minuscole). Si definisca un progetto in linguaggio C che gestisca stringhe di questo tipo e in particolare la funzionalità che data una stringa calcoli la lettera con occorrenza massima (in caso di pari occorrenza ritornare la prima in ordine). Oss. Si considerino tali stringhe attingere dal seguente vocabolario: {a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z}

12 APPUNTI SUL LINGUAGGIO C Esercizi su array e strutture
Corso di Algoritmi e Strutture Dati APPUNTI SUL LINGUAGGIO C Esercizi su array e strutture FINE


Scaricare ppt "APPUNTI SUL LINGUAGGIO C Esercizi sugli array e strutture"

Presentazioni simili


Annunci Google