27 settembre 2007

Seconda parte esonero dell'anno scorso

Università di Roma La Sapienza - Corso di Programmazione a oggetti

A.A. 2006/2007 - Docente: Emanuele Panizzi

Prova del 10 novembre 2006

SECONDA PARTE: BONUS

Svolgere il seguente programma in C++. Tempo a disposizione: 40 minuti.

E’ POSSIBILE CONSULTARE LIBRI ETC., UTILIZZARE IL COMPUTER PER COMPILARE E PROVARE IL PROGRAMMA, SVOLGERE IL PROGRAMMA CON ALTRE PERSONE

NOME: COGNOME: MATRICOLA:

NOME: COGNOME: MATRICOLA:

NOME: COGNOME: MATRICOLA:

NOME: COGNOME: MATRICOLA:

NOME: COGNOME: MATRICOLA:

NOME: COGNOME: MATRICOLA:

NOME: COGNOME: MATRICOLA:

NOME: COGNOME: MATRICOLA:

NOME: COGNOME: MATRICOLA:

NOME: COGNOME: MATRICOLA:

NOME: COGNOME: MATRICOLA:

Si scriva un programma C++ che:

a) legga dieci valori int da tastiera e li memorizzi in un array v. I valori saranno forniti in ordine crescente.

b) Allochi un array w di dimensione n pari al numero di elementi differenti di v, e vi copi tali elementi.

c) Sostituisca ad ogni elemento w[i] la somma degli elementi w[i]+...+w[n-1] (MEDIANTE FUNZIONE RICORSIVA)

d) Chiami, per ogni w[i], la funzione int Sum(int* p) che sommi il valore w[i] ad un accumulatore interno e restituisca il totale t accumulato (DEFINIRE LA FUNZIONE Sum())

e) Stampi v, w e t.

Ogni punto deve essere svolto realizzando almeno una funzione separata, chiamata dal main.

v, w e t devono essere dichiarate nel main.

Nessun commento: