DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Lab 2 L.26.14
20 Aprile 2015
Marco D. Santambrogio – [email protected]
Gianluca Durelli - [email protected]
Ver. aggiornata al 20 Aprile 2015
Obiettivi
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Esercitarsi sui quanto visto a lezione! In
particolare:




Array
Stringhe
Funzioni
Passaggio per indirizzo
2
Esercizi
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
•
•
•
•
•
•
•
Es0: Copia Stringhe
Es1: Minore
Es2: min su N numeri
Es3: posix min su N numeri
Es4: posix e min su N numeri
Es5: Confronta Stringhe
Es6: Matrice Trasposta
3
Esercizi
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
•
•
•
•
•
•
•
Es0: Copia Stringhe
Es1: Minore
Es2: min su N numeri
Es3: posix min su N numeri
Es4: posix e min su N numeri
Es5: Confronta Stringhe
Es6: Matrice Trasposta
4
Es0: copia stringhe
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Si scriva un programma in C che, data
una stringa, la copia in una seconda
stringa
5
Copia stringhe: dati e inserimento
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
6
Copia stringhe: dati e inserimento
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
7
Copia stringhe: dati e inserimento
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Attenzione! Gli array (TUTTI) sono sempre passati
per indirizzo. Una variabile di tipo array, infatti, è
per definizione un puntatore
8
Copia stringhe: dati e inserimento
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
#define DIM 5
[…]
char stringa1[DIM];
stringa1[0]
stringa1[1]
stringa1
&stringa1[0]
stringa1[2]
stringa1[3]
stringa1[4]
9
Copia stringhe: lunghezza
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
10
Copia stringhe: lunghezza
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
11
Copia stringhe: lunghezza v2
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
12
Copia stringhe: copia elementi
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
13
Copia stringhe: copia elementi
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
14
Copia stringhe: tutto insieme
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
15
E se usassimo le librerie?
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
16
Problema: copia stringhe
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
17
Ecco perché string.h!!!
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
18
Problema: copia stringhe
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
19
Problemi interessanti
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Cosa succede se, data una stringa
dato1, chiedo di inserirla dall’utente e
questo digita “supercalifragili”?
• Cosa succede se, date due stringe
dato1 e dato2, entrambe di DIM 5,
provo a scrivere dato1 = dato?
20
Esercizi
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
•
•
•
•
•
•
•
Es0: Copia Stringhe
Es1: Minore
Es2: min su N numeri
Es3: posix min su N numeri
Es4: posix e min su N numeri
Es5: Confronta Stringhe
Es6: Matrice Trasposta
21
Es1: minore
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
1. Si scriva in C una funzione che, dati 2
interi postivi, dice quale è il minore
1. Si scriva in C una funzione che, dati 2
interi positivi, restituisce il minore
22
Es2: min su N numeri
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Si scriva in C una funzione che, dati N
interi positivi restituisce il minore
23
Es3: Posix min su N numeri
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Si scriva in C una funzione che, ricevuti
in ingresso N interi positivi, resituisce la
posizione del min
24
Es4: posix e min su N numeri
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Si scriva in C una funzione che, ricevuti
in ingresso N interi positivi, resituisce la
posizione ed il valore del min
25
Es5: Confronta stringhe
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Si scriva in C un programma che date due stringhe
inserite dall’utente dice quale delle due precede
alfabeticamente l’altra. Non si può usare la funzione
strcmp
Esempio 1 - dati:
array1=”pippo” - array2=”pio”
Esempio 1 - risultato:
L’array2 precede l’array1
Esempio 2 - dati:
array1=”super”- array2=”supercalifragili”
Esempio 2 - risultato:
L’array1 precede l’array2
26
Es6: Matrice Trasposta
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Si definisce matrice trasposta AT di A la
matrice ottenuta scambiando
ordinatamente le righe con le colonne
della matrice A.
• Es: é
ù
é
ù
ê
A =ê
ê
ë
2 4 8
ú
3 9 27 ú
4 16 64 úû
ê
A =ê
ê
ë
T
2 3 4
ú
4 9 16 ú
8 27 64 úû
27
Fine…
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
28
Scarica

V0 - PPT