autoguid6

SESTA ESERCITAZIONE AUTOGUIDATA

Obiettivi dell'esercitazione:

  • utilizzare gli array bidimensionali
  • utilizzare array di stringhe

  1. ESERCIZIO 1
  2. (soluzione nel file swapmatr.c)

    Scrivere un programma che scambi righe con colonne in un array bidimensionale 3 x 3 di valori reali.

    Definire le seguenti funzioni:

    1. IniziaMatrice : inizializza la matrice al valore per es.: z*(i2+1)*(j+1) con z parametro a scelta, i indice riga e j indice colonna
    2. ScriviMatrice : scrive la matrice
    3. SalvaMatrice : copia la matrice iniziale in una di appoggio
    4. ScambiaMatrice: scambia le righe con le colonne
    .

    costruire il programma relativo al seguente algoritmo:

    1. prototipi delle funzioni: IniziaMatrice ScriviMatrice SalvaMatrice ScambiaMatrice
    2. dichiarazioni:
      • dimensione = 3
      • matrice A(i,j)
      • matrice Appoggio(i,j) (azzerata)

    1. inizializza la matrice A(i,j) al valore scelto per es. con z=1.5
    2. scrivi la matrice A iniziale
    3. scrivi la matrice Appoggio iniziale
    4. salva la matrice A nella matrice Appoggio
    5. copia la matrice Appoggio nella A, scambiando righe con colonne
    6. scrivi la matrice A finale [= A(j,i) ]
    7. scrivi la matrice Appoggio finale [= A(i,j) ]

    Un possibile output del programma potrebbe esserte il seguente:

    
    matrice__A   
                            |   1.5    3.0     4.5   |
                            |   3.0    6.0     9.0   |
                            |   7.5   15.0   22.5   |
    
    matrice_Ap  
                            |   0.0    0.0    0.0   |
                            |   0.0    0.0    0.0   |
                            |   0.0    0.0    0.0   |
    
    invio  per continuare
    
    le matrici dopo lo scambio sono:
    
    matrice__A              
                            |   1.5    3.0    7.5   |
                            |   3.0    6.0   15.0   |
                            |   4.5    9.0   22.5   |
    
    matrice_Ap  
                            |   1.5    3.0    4.5   |
                            |   3.0    6.0    9.0   |
                            |   7.5   15.0   22.5  |
    
    invio  per continuare
    

  3. ESERCIZIO 2
  4. (soluzione nel file password.c)

    Progettare un programma che sia in grado di riconoscere una password di accesso all'interno di un insieme predefinito di password possibili.

    versione con vettore di stringhe a lunghezza prefissata
    [ non utilizzare il file header <string.h> ]

    dichiarazioni

    • numero di password = 5
    • lunghezza_di_una_pasw = 6 caratteri
    • password predefinite: primaa, second, terzaa, quarta, quinta
    • variabile booleana accesso_ok;
    • contatori vari
    • vettori da dichiarare: pasw_inserita e pasw_conosciute;

    Il programma :

    1. emette un messaggio iniziale di avviso
    2. riceve una password
    3. controlla che la lunghezza della stringa sia uguale alla lunghezza prefissata
    4. confronta, per ogni pasw_conosciuta, l'uguaglianza con i caratteri della stringa inserita
    5. se la password ╦ riconosciuta, mette a 1 il valore di accesso_ok
    6. emette il messaggio opportuno a seconda del valore assegnato alla variabile accesso_ok

    Il confronto tra le stringhe pu┌ essere effettuato, per esempio

    • sia utilizzando la notazione a indice dei vettori
    • sia utilizzando la notazione a 'puntatore+offset'.