DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 2 L.26.14 20 Aprile 2015 Marco D. Santambrogio –...

Post on 03-May-2015

215 views 0 download

Transcript of DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 2 L.26.14 20 Aprile 2015 Marco D. Santambrogio –...

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Lab 2 L.26.14Lab 2 L.26.1420 Aprile 201520 Aprile 2015

Marco D. Santambrogio – marco.santambrogio@polimi.itGianluca Durelli - durellinux@gmail.com

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