... /*dichiarare un tipo, di nome MATRICE, per le matrici quadrate la cui dimensione può variare da 1 a 30*/ ... /*dichiarare una funzione che preso un elemento di MATRICE ritorna il suo elemento massimo ed i suoi indici (se esistono più massimi vanno bene gli indici di uno a scelta)*/ ............ /*dichiarare una funzione che controlla se un elemento di MATRICE è diagonale */ ............ main() { MATRICE A ; /*assegnare ad A una matrice 4 x 4 */ .... /*stampare il valore massimo di A con i suoi indici sullo standard output*/ .... /*stampare sullo standard output se A è o no diagonale*/ ..... }Ritornare il risultato su un file di nome TEST1cognome.c; il file con lo schema del programma da completare si trova qui.
...... /*dichiarare un tipo per le successioni di interi di lunghezza minore o uguale a K, dove K è una costante fissata*/ ...... /*dichiarare una funzione che realizzi l'operazione di chop definita come segue chop(<a1,...,an>) = <a1,... an-1> se n > 0 chop(<>) indefinito/errore/non si può fare altrimenti */ ................ /*dichiarare una funzione che realizzi l'operazione append definita come segue append(<a1,...,an>,<b1,...,bm>) = <a1,...,an,b1,...,bm> se n+m < K indefinito/errore/non si può fare altrimenti */ ..... main() { /*assegnare a due variabili distinte, S1 e S2, le successioni 1 3 5 7 e 2 4 6 8 10 12 */ ........ /*"choppare" S1 e stampare la successioni risultante*/ ..... /*appendere S1 a S2 e stampare la successioni risultante*/ ........ }Ritornare il risultato su un file di nome TEST2cognome.c; il file con lo schema del programma da completare si trova qui.
...... /*dichiarare un tipo per le successioni di interi di lunghezza qualsiasi*/ ...... /*dichiarare una funzione che realizzi l'operazione di chop definita come segue chop(<a1,...,an>) = <a1,... an-1> se n > 0 chop(<>) indefinito/errore/non si può fare altrimenti */ ................ /*dichiarare una funzione che realizzi l'operazione append definita come segue append(<a1,...,an>,<b1,...,bm>) = <a1,...,an,b1,...,bm> se n+m < K indefinito/errore/non si può fare altrimenti */ ..... main() { /*assegnare a due variabili distinte, S1 e S2, le successioni 1 3 5 7 e 2 4 6 8 10 12 */ ........ /*"choppare" S1 e stampare la successioni risultante*/ ..... /*appendere S1 a S2 e stampare la successioni risultante*/ ........ }Ritornare il risultato su un file di nome TEST3cognome.c; il file con lo schema del programma da completare si trova qui.
Completare il seguente schema del programma da completare C come indicato dai commenti, e quindi testare la sua correttezza facendolo eseguire.
...... /*dichiarare un tipo per le doppie liste utilizzando i puntatori*/ ...... /*dichiarare una funzione che stampa i numeri associati ad un dato carattere in una data doppia lista */ ................ /*dichiarare una funzione che aggiunge un numero alla lista associata ad un dato carattere, se il carattere non è presente, aggiunge un elemento alla prima lista*/ ..... main() { /*dichiarare una variabile DL del tipo doppia lista e inizializzarla in modo che non contenga alcun carattere ed alcun numero*/ .... /*aggiungere di seguito alla lista in DL 3 associato ad A, 5 associato a B, 5 associato ad A, 7 associato ad F, 7 associato ad A, 7 associato a B*/ ........ /*stampare i numeri associati ad F*/ ..... /*stampare i numeri associati ad A*/ ..... }Ritornare il risultato su un file di nome TEST4cognome.c; il file con lo schema del programma da completare si trova qui.
...... ...... #include "BASICIO.h" ................ main() { /*Leggere il nome di un file, sia esso EFFE, e di un file di interi positivi in ordine crescente (che identificano linee in EFFE), sia esso ELLE, rimuovere da EFFE tutte le linee di testo indicate in ELLE.*/ ..... }Ritornare il risultato su un file di nome TEST5cognome.c; il file con lo schema del programma da completare si trova qui.