DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 6: 12 Maggio 2014 Marco D. Santambrogio – [email protected] Gianluca Durelli – [email protected] Ver. aggiornata al 11 Maggio 2014 Obiettivi DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • Esercitarsi sui costrutti visti a lezione Tutto il C fatto fino a qui In particolare: puntatori e passaggio per indirizzo dei parametri alle funzioni 2 Esercizi DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • • • • • • • Es0: Trova pari Es1: Sostituisci Numero Es2: Shift Es3: Trova occorrenze Es4: Lunghezza Vettore Es5: Convoluzione Matrici Es6: Media Studenti 3 Exe 0: Trova Pari DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • Scrivere una funzione in C che: Ricevuta in ingresso una matrice Ritorni tutti e soli i numeri pari in essa contenuti 4 Exe 0: Trova Pari (main) DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 5 Exe 0: Trova Pari (funzione) DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 6 Exe 1: Sostituisci Numero DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • Scrivere una funzione in C che: ricevuta in ingresso una matrice NxM di interi e due numeri X ed Y Sostituisca ogni occorrenza del numero X nella matrice con il numero Y Nota: Le dimensioni N ed M ed i numeri X ed Y devono poter essere scelti dall’utente 7 Exe 2: Shift DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • Si scriva una funzione in C che: Ricevuto in ingresso due vettori di lunghezza N Determini se il secondo e’ ottenuto partendo dal primo e spostandone le cifre di un numero costante di posizioni Esempio: • V0: 0 1 2 3 4 5 • V1: 4 5 0 1 2 3 • V1 e’ ottenuto partendo da V0 e spostandolo in avanti di 2 • quando si sfora la lunghezza si riparte dall’inizio 8 Exe 3: Trova occorrenze DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • Scrivere una funzione in C che: Riceva in ingresso una matrice M ed un numero X Ritorni: • il numero delle volte in cui X compare in M • l’elenco delle posizioni in cui M assume il valore X 9 Exe 4: Lunghezza Vettore DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • Si scriva una funzione che: Ricevute in ingresso le coordinate di due punti appartenenti al piano cartesiano Calcoli la lunghezza del segmento da esse delimitato Nota: Si definiscano opportune strutture dati per risolvere l’esercizio 10 Exe 5: Convoluzione tra Matrici DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • Si scriva una funzione C che ricevute in ingresso due matrici M1 ed M2 di uguali dimensioni ne calcoli il prodotto di convoluzione 11 Exe 6: Media Studenti DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • Si realizzi una struttura dati per la gestione dell’anagrafica degli studenti • Per ogni studente ci interessa: Nome, matricola e media (con decimali) • Si scrivano quindi due funzione in C: La prima per inserire gli studenti nell’anagrafica La seconda che calcoli per tutti i valori interi N assumibili dalla media quanti studenti hanno una media compresa tra N-1 ed N 12 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • BUON LAVORO! 13