DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 6: 16 Maggio 2013 Gianluca Durelli – [email protected] Marco D. Santambrogio – [email protected] Ver. aggiornata al 15 Maggio 2013 Argomenti DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • Argomenti di questo laboratorio: Funzioni Passaggio parametri a funzioni • Obiettivo: Risolvere i primi 3 esercizi 2 Esercizi DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • • • • • • Media Conta matrice Modifica matrice Operazione tra matrici Cubo posizione conta v1 Cubo posizione conta v2 3 Esercizio 1 – Media DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • Scrivere un programma che, ricevuto in ingresso un vettore di N interi, determini quanti numeri dell’array sono maggiori della sua media. • Vincolo: Utilizzare una funzione per riempire il vettore Utilizzare una funzione per calcolare la media degli elementi inseriti nell’array Utilizzare una funzione per il calcolo del numero di elementi maggiori della media 4 Esercizio 2 – Conta Matrice DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • Scrivere un programma che, ricevuto in ingresso una matrice NxM di interi ed un numero X, determini quanti numeri nella matrice non sono divisibili per il numero dato. • Si risolva l’esercizio in 2 modi: Utilizzando la funzione: • int contaMatrice(int mat[N][M], int x, int n, int m) • Ritorna il numero degli elementi della matrice mat che non sono divisibili per x. Utilizzando la funzione • void contaMatrice(int mat[N][M], int x , int n, int m, int *conta) • Il numero degli elementi della matrice non sono divisibili per x è memorizzato in conta 5 Esercizio 3 – Modifica Matrice DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • Scrivere un programma che, ricevuto in ingresso una matrice NxM di interi ed un numero intero x, modifichi la matrice facendo in modo che ogni numero diviso (moltiplicato) per x a seconda che questo sia divisibile (non divisibile) per x. • Vincolo: Si utilizzi una funzione modificaMatrice per effettuare le modifiche (moltiplicazioni e divisioni) alla matrice in ingresso. 6 Esercizio 4 – Operazione tra matrici DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • Scrivere un programma che, ricevutee in ingresso 2 matrici di dimensioni scelte dall’utente: Verifichi che abbiano la stessa dimensione Effettui la seguente operazione: • Le matrici inserite dall’utente sono di dimensione NxM • a,b rappresentano i singoli elementi delle matrici i N , jM a b i 0, j 0 ij ij • Vincolo: Si utilizzino almeno 2 funzioni: • Una per il controllo sulle dimensioni delle matrici • Una per il calcolo 7 Esercizio 5 – Cubo conta divisibili v1 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • Scrivere un programma che, ricevuto in ingresso un cubo di interi di dimensione NxMxZ ed un numero intero x, conti quanti numeri divisibili per x sono presenti nel cubo • Vincolo: Si utilizzi la seguente funzione per il calcolo del numero : • int conta(int mat[N][M][Z]); 8 Esercizio 6 – Cubo conta divisibili v2 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • Scrivere un programma che, ricevuto in ingresso un cubo di interi di dimensione NxMxZ ed un numero intero x, conti quanti numeri divisibili per x sono presenti nel cubo • Vincolo: Si utilizzino la seguente funzione per il calcolo del numero di numero primi presenti: • int conta(int *mat, int N, int M, int Z); 9 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • BUON LAVORO! 10