ciao a tutti.... io devo fare un progetto per un esame dell'universita che ho tra pochi giorni solo che sono in alto mare,.,,,sapreste aiutarmi?????
contattatemi alla mia email....
intanto vi lascio il testo del progetto.....
grazie
Definire una classe, di nome Insieme, che realizza il tipo di dato astratto insieme,
parametrico rispetto ad un tipo t dei suoi elementi. Un insieme è una collezione di dati senza
duplicati, in cui l'ordine degli elementi non conta.
La classe Insieme<t> prevede (almeno) i seguenti costruttori:
• costruttore senza parametri: crea un insieme vuoto;
• costruttore con un parametro A di tipo array di elementi di tipo t: crea un insieme
contenente tutti gli elementi di A;
• costruttore con due parametri: n, di tipo stringa e A di tipo array di t: come il costruttore
con un parametro, ma in più associa il nome n all'insieme.
La classe Insieme<t> prevede inoltre (almeno) le seguenti funzioni ed operatori public:
• s.aggiungi(x): aggiunge all'insieme s un elemento x di tipo t e restituisce true se x
non è presente; altrimenti restituisce false e lascia l'insieme inalterato;
• s.rimuovi(x): rimuove dall'insieme s l'elemento x e restituisce true se x è presente;
altrimenti restituisce false e lascia l'insieme inalterato;
• s.contiene(x): restituisce true se x appartiene all'insieme s, false altrimenti;
• s.vuoto(): restituisce true se l'insieme s è vuoto, false altrimenti;
• s.nome(): restituisce il "nome" dell'insieme s;
• s.card(): restituisce il numero di elementi nell'insieme s;
• s1 = s2: restituisce true se l'insieme s1 è uguale all'insieme s2, false altrimenti;
• s1 + s2, s1 * s2, s1 - s2, con s1 e s2 insiemi di tipo t: restituiscono l'insieme
ottenuto, rispettivamente, da s1 È s2, s1 Ç s2, s1 \ s2 (differenza insiemistica),
• s1 < s2, s1 <= s2, …: restituisce true se, rispettivamente, s1 Ì s2, s1 Í s2, … , false
altrimenti;
• sin >> s, sout << s, dove sin e sout sono stream di input e di output,
rispettivamente: legge (scrive) una sequenza di elementi di tipo t, separati da "spazio" o
"a capo", da sin all'insieme s (dall'insieme s a sout).
Scrivere anche un programma principale che permette di realizzare, in modo interattivo,
operazioni insiemistiche su insiemi di numeri interi letti da file. Precisamente, il programma
propone all'utente un menù di possibili operazioni:
1. carica da file un insieme e gli assegna un nome: nome del file e nome dell'insieme
sono specificati dall'utente;
2. visualizza su standard output tutti gli elementi dell'insieme di nome n;
3. esegue una delle operazioni insiemistiche sopra elencate su uno o più insiemi esistenti
(individuati in base al nome), eventualmente creando nuovi insiemi (con nomi
specificati dall'utente);
4. elimina uno degli insiemi esistenti;
5. salva un insieme esistente su un file di nome specificato dall'utente;
6. smette.
Eseguita l'operazione scelta (tranne la 6), il programma ripropone il menù delle possibili
operazioni. L'operazione 6 invece causa la terminazione definitiva del programma. Si
supponga che al massimo possano essere presenti contemporaneamente 100 insiemi diversi.
|