Testo della prova
Sia data una matrice quadrata di interi M memorizzata in un file di testo (mat.txt), che contiene nella prima riga il valore del riempimento di riga e colonna (riemp) e nelle successive gli elementi della matrice (come illustrato negli esempi che seguono).
Si progettino tre funzioni:
- leggi_mat, che legge da file il riempimento ed i valori di una matrice quadrata di interi;
- crea_vett_ind che riceve in ingresso il riempimento (riemp) ed i valori di una matrice quadrata di interi M ed un ulteriore valore intero K, e costruisce un vettore di strutture, vett_ind. Ciascuna struttura è composta da due campi entrambi di tipo intero, rig e col; ciascun elemento del vettore di strutture conterrà allora gli indici di riga e di colonna degli elementi di M il cui valore è maggiore di K. La funzione crea_vett_ind dovrà anche restituire un valore di ritorno booleano, che sarà pari a true se il vettore di strutture contiene almeno un elemento e false altrimenti (questo caso si verifica se non ci sono elementi di M maggiori di K);
- salva_vett_ind, con la quale stampare su file di testo un vettore di strutture;
e si scriva un programma che, utilizzando queste tre funzioni, legga riemp, M (dal file mat.txt) e K (da tastiera), provveda a costruire il vettore vett_ind e, usando opportunamente il valore booleano restituito dalla funzione crea_vett_ind, stampi il vettore vett_ind su file (output.txt) oppure stampi un opportuno messaggio di errore a video se il vettore vett_ind non contiene nessun elemento.
Il programma dovrà essere suddiviso in moduli, uno contenente prototipi e dichiarazioni, uno contenente le funzioni leggi_mat, crea_vett_ind e salva_vett_ind ed un terzo contenente il main.
---------------------------------------------------------------------------------------------------------------------------------
Nessun commento:
Posta un commento