Skip to content

Latest commit

 

History

History

array-analysis

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

Array Analysis

Task

Scrivere un programma che realizza alcune operazioni su array. Il programma, in particolare, deve implementare le seguenti funzionalità.

  1. Stampa. Dato un array A e la sua lunghezza n, la funzione stampa a video l'array con valori tutti su una linea separati da virgole. Vengono aggiunte le partentesi quadre per rendere chiaro il fatto che si sta parlando di array.

    Esempio. Dato A = { 7, -2, 0, 1, 3, -8 } allora a video verrà stampato [ 7, -2, 0, 1, 3, -8, ].

  2. Elementi distinti. Dato un array A e la sua lunghezza n, la funzione deve dare in output un array B con tutti e soli gli elementi distinti trovati in A e restituire la lunghezza m dell'array B.

    Esempio. Dato A = { 1, 2, 3, 1, 2, 3, 4 } allora distinti(A) = { 1, 2, 3, 4 }.

  3. Massimo. Dato un array A e la sua lunghezza n, la funzione deve restituire il valore massimo trovato all'interno dell'array A. Attenzione al caso array vuoto.

    Esempio. Dato A = { 1, -13, 0, 4, 3, 7 } allora max(A) = 7.

  4. Minimo. Dato un array A e la sua lunghezza n, la funzione deve restituire il valore minimo trovato all'interno dell'array A. Attenzione al caso array vuoto.

    Esempio. Dato A = { 7, -2, 0, 1, 3, -8 } allora min(A) = -8.

  5. Normalizzazione. Dato un array A e la sua lunghezza n, la funzione deve dare in output un array B con i valori di A scalati a valori tra 0 e 1 e restituire la lunghezza dell'array B. La normalizzazione può essere ottenuta, nel caso di sequenze di soli valori positivi (>= 0), dividendo ogni elemento per il max dell'array.

    Estendere il problema nel caso di array con possibili valori negativi. (Volutamente non sono forniti dettagli.)

    Esempio

    Dato A = { 5, 13, 0, 3, 3, 7 } allora norm(B) = { 0.38, 1, 0, 0.23, 0.23, 0.53 }.

    Dato B = { -4, 2, -7, 15, 12, 3 } allora norm(B) = { 0.14, 0.40, 0, 1, 0.86, 0.45 }.

  6. Numero di volte. Dato un array A e la sua lunghezza n, la funzione deve dare in output un array B contentente, per ogni valore distinto in A, il numero di volte che esso è stato trovato in A e restituire la lunghezza m di B.

    Esempio

    Dato A = { 7, 4, 7, 1, -5, 7, 1 } allora distinti(A) = { 7, 4, 1, -5 } e occorrenze(A) = { 3, 1, 2, 1 }.

Nota. Gli esempi seguono una notazione matematica.

Nota. Se più comodo, si implementare le funzionalità in main diversi.

Attenzione. Il main deve contenere obbligatoriamente dei test per le funzioni implementate, ovvero chiamate alle funzioni e stampe dei valori restituiti. Non è necessario invece implementare nessuna interazione con l'utente.

Attenzione. Tutte le funzionalità riportate devono essere obbligatoriamente implementate come funzioni.

Cosa consegnare

Consegnare solamente i file sorgenti in un formato testuale. No screenshot, no file di word.