Corso di Laurea in Ingegneria Elettronica - Università di Roma ``La
Sapienza''
Corso di Fondamenti di Informatica - A.A. 2001/2002
Sesta Esercitazione Autoguidata
ESERCIZIO 1
Scrivete un programma per il calcolo della trasposta di una matrice quadrata di
interi. Il programma deve leggere una matrice da input e costruire la sua
trasposta, senza modificare la matrice letta. Dopo il calcolo dovrà
fornire in output la stampa della matrice iniziale e della sua trasposta. Il
programma dovrà essere costituito dai seguenti moduli:
- la funzione leggiMatrice che legge da input una matrice quadrata
di interi di dimensioni NxN (sia
ad esempio N=3);
- la funzione stampaMatrice che stampa in output una matrice;
- la funzione copiaMatrice che copia una matrice in una matrice
delle stesse dimensioni;
- la funzione trasposta che calcola la trasposta di una matrice;
- la funzione main che invoca opportunamente le funzioni definite
ai punti 1, 2, 3 e 4.
Un possibile output del programma è riportato di seguito:
matrice iniziale:
1 3 6
2 15 12
4 1 4
matrice trasposta:
1 2 4
3 15 1
6 12 4
ESERCIZIO 2
Progettate un programma che sia in grado di riconoscere una password di accesso
all'interno di un insieme predefinito di password possibili. Il programma
dovrà:
- leggere da input una password di lunghezza massima prestabilita,
- confrontarla con N password predefinite come strighe costanti nel
programma (sia, ad esempio, N=5 e "prima", "seconda",
"terza", "quarta" e "quinta" le password
predefinite), e
- fornire in output un messaggio opportuno in base al confronto
effettuato.
Fate in modo che l'uscita dai cicli sia anticipata attraverso l'utilizzo di una
sentinella booleana.
Nota: Per risolvere l'esercizio utilizzate le funzioni della libreria
<string.h>.
ESERCIZIO 3 (opzionale)
Risolvete l'esercizio 2 senza utilizzare le funzioni della libreria
<string.h>. Come nel caso precedente, fate in modo che l'uscita
dai cicli sia anticipata attraverso l'utilizzo di una variabile booleana.