dipartimento di elettronica e informazione lab 2 l.26.14 20 aprile 2015 marco d. santambrogio –...
TRANSCRIPT
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Lab 2 L.26.14Lab 2 L.26.1420 Aprile 201520 Aprile 2015
Marco D. Santambrogio – [email protected] Durelli - [email protected]
Ver. aggiornata al 20 Aprile 2015
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
ObiettiviObiettivi
• Esercitarsi sui quanto visto a lezione! In particolare: Array Stringhe Funzioni Passaggio per indirizzo
2
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
EserciziEsercizi
• 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
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
EserciziEsercizi
• 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
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Es0: copia stringheEs0: copia stringhe
• Si scriva un programma in C che, data una stringa, la copia in una seconda stringa
5
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Copia stringhe: dati e Copia stringhe: dati e inserimentoinserimento
6
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Copia stringhe: dati e Copia stringhe: dati e inserimentoinserimento
7
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Copia stringhe: dati e Copia stringhe: dati e inserimentoinserimento
8
Attenzione! Gli array (TUTTI) sono sempre passati per indirizzo. Una variabile di tipo array, infatti, è per definizione un puntatore
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Copia stringhe: dati e Copia stringhe: dati e inserimentoinserimento
9
#define DIM 5[…]char stringa1[DIM];
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Copia stringhe: lunghezzaCopia stringhe: lunghezza
10
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Copia stringhe: lunghezzaCopia stringhe: lunghezza
11
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Copia stringhe: lunghezza v2Copia stringhe: lunghezza v2
12
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Copia stringhe: copia elementiCopia stringhe: copia elementi
13
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Copia stringhe: copia elementiCopia stringhe: copia elementi
14
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Copia stringhe: tutto Copia stringhe: tutto insiemeinsieme
15
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
E se usassimo le librerie?E se usassimo le librerie?
16
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Problema: copia stringheProblema: copia stringhe
17
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Ecco perché string.h!!!Ecco perché string.h!!!
18
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Problema: copia stringheProblema: copia stringhe
19
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Problemi interessantiProblemi interessanti
• 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
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
EserciziEsercizi
• 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
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Es1: minoreEs1: minore
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
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Es2: min su N numeriEs2: min su N numeri
• Si scriva in C una funzione che, dati N interi positivi restituisce il minore
23
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Es3: Posix min su N Es3: Posix min su N numerinumeri
• Si scriva in C una funzione che, ricevuti in ingresso N interi positivi, resituisce la posizione del min
24
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Es4: posix e min su N Es4: posix e min su N numerinumeri
• Si scriva in C una funzione che, ricevuti in ingresso N interi positivi, resituisce la posizione ed il valore del min
25
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Es5: Confronta stringheEs5: Confronta stringhe
• 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
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Es6: Matrice TraspostaEs6: Matrice Trasposta
• Si definisce matrice trasposta AT di A la matrice ottenuta scambiando ordinatamente le righe con le colonne della matrice A.
• Es:
27
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Fine…Fine…
28