informatica:sol:laboratorio15:esercitazionia:esercitazione3
Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
Prossima revisione | Revisione precedente | ||
informatica:sol:laboratorio15:esercitazionia:esercitazione3 [17/03/2015 alle 11:21 (10 anni fa)] – creata Massimo Torquati | informatica:sol:laboratorio15:esercitazionia:esercitazione3 [17/03/2015 alle 12:32 (10 anni fa)] (versione attuale) – [Esercizio 3: creazione di una libreria statica] Massimo Torquati | ||
---|---|---|---|
Linea 4: | Linea 4: | ||
Cercare di completare tutti gli esercizi durante le ore di laboratorio e nel caso come homework.\\ | Cercare di completare tutti gli esercizi durante le ore di laboratorio e nel caso come homework.\\ | ||
+ | |||
+ | ===== Esercizio 1: macro ===== | ||
+ | Dato il seguente codice main C: | ||
+ | < | ||
+ | #define dimN 16 | ||
+ | #define dimM 8 | ||
+ | int main() { | ||
+ | long *M = malloc(dimN*dimM*sizeof(long)); | ||
+ | assert(M); | ||
+ | for(size_t i=0; | ||
+ | for(size_t j=0; | ||
+ | ELEM(M,i,j) = i+j; | ||
+ | | ||
+ | PRINTMAT(M); | ||
+ | return 0; | ||
+ | } | ||
+ | </ | ||
+ | scrivere le 2 macros '' | ||
+ | < | ||
+ | Stampo la matrice M: | ||
+ | | ||
+ | | ||
+ | | ||
+ | </ | ||
+ | |||
+ | ===== Esercizio 2: macro ===== | ||
+ | Scrivere 2 macros '' | ||
+ | chiamata di libreria tipo malloc, fopen, ....) sia uguale (_EQ) o diverso (_NEQ) al secondo argomento passato alla macro. Qualora la condizione è verificata allora deve essere stampata, utilizzando la chiamata di libreria '' | ||
+ | alla macro, il numero di riga dove la macro è stata invocata ed il nome del file contenente la chiamata stessa. | ||
+ | Es. supponiamo che '' | ||
+ | < | ||
+ | | ||
+ | </ | ||
+ | l' | ||
+ | < | ||
+ | " | ||
+ | ERRORE ALLA LINEA 10 DEL FILE miofile.c | ||
+ | </ | ||
+ | |||
+ | ===== Esercizio 3: creazione di una libreria statica ===== | ||
+ | |||
+ | Riconsiderare l' | ||
+ | Creare quindi un '' | ||
+ | |||
+ | ===== Esercizio 4: lista ordinata di parole ===== | ||
+ | |||
+ | Scrivere un programma che dato un file testuale come argomento, inserisca tutte le parole del file in una lista ordinando le parole alfabeticamente. Fornire inoltre una libreria statica che implementi le seguenti funzioni (libList.a): | ||
+ | < | ||
+ | list_t *createList(); | ||
+ | int | ||
+ | int | ||
+ | void printList(list_t *L); // stampa tutta la lista | ||
+ | </ | ||
+ | ed il Makefile che permette di generare sia la libreria che l' | ||
+ | |||
+ |
informatica/sol/laboratorio15/esercitazionia/esercitazione3.1426591285.txt.gz · Ultima modifica: 17/03/2015 alle 11:21 (10 anni fa) da Massimo Torquati