Anteprima
Vedrai una selezione di 1 pagina su 2
Programmazione I - esercizi Pag. 1
1 su 2
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

I

PROGRAMMAZIONE

prova scritta del prof. Russo

Implementare in linguaggio C++ un tipo di dato astratto lista con ripetizioni, implementato con una classe Lista. Tale

lista deve essere allocata dinamicamente (si consiglia una realizzazione a puntatori). Ogni elemento della lista dovrà

contenere le seguenti informazioni:

• Valore, di tipo string (si può utilizzare la classe string fornita dalle librerie);

• occorrenze, di tipo int, che indica quanti elementi con quel valore siano stati inseriti.

Come esempio si veda il main di prova proposto con l’output risultante in basso.

Sulla lista dovranno essere realizzati i seguenti metodi (oltre ovviamente a costruttore e distruttore):

Empty()

Verifica se la lista è vuota;

Insert (const string valore[], const int occ[], int dim)

Inserisce I valori presenti nell’array di valori nella lista con le occorrenze indicate nell’array occ (non necessariamente

in maniera ordinata).

Elimina(const string valore)

Elimina un’occorrenza dell’elemento valore dalla lista. Ovviamente se l’elemento era già presente con più di una

occorrenza basta decrementare di uno il numero di occorrenze, altrimenti è necessario eliminare fisicamente

l’elemento dalla lista.

Stampa()

Visualizza a video gli elementi contenuti nella lista con l’occorrenza.

#include <cstdlib>

#include <iostream>

#include <string>

#include "Lista.h"

using namespace std;

int main(int argc, char *argv[]) {

string Valore[4];

int occ[4];

Valore[0] = "paperino"; occ[0] = 2;

Valore[1] = "pippo"; occ[1] = 1;

Valore[2] = "pluto"; occ[2] = 3;

Valore[3] = "topolino"; occ[3] = 1;

Lista *l = new Lista();

l -> insert(Valore, occ, 4);

cout<<"Visualizzo tutta la lista:\n";

l -> stampa();

cout<<"Elimino un'occorrenza di pippo e pluto\n";

l -> elimina("pluto");

l -> elimina("pippo");

cout<<"Visualizzo tutta la lista:\n";

l->stampa();

cout<<"Distruggo la lista\n";

delete l;

system("PAUSE");

return EXIT_SUCCESS;

}

L’output dovrebbe essere di questo tipo:

Visualizzo tutta la lista:

Valore Occorrenze

topolino 3

pluto 3

pippo 1

paperino 2

Elimino un’occorrenza di pluto e pippo

Visualizzo tutta la lista:

Valore Occorrenze

topolino 1

pluto 2

Dettagli
Publisher
A.A. 2012-2013
2 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher N. A. di informazioni apprese con la frequenza delle lezioni di Programmazione 1 e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli studi di Napoli Federico II o del prof Russo Stefano.