Insegnamento
Informatica
Data
June 23, 2020
Tipo di prova
Prova completa
Soluzioni
No soluzioni
/** DOMANDA 1
Scrivete una funzione RICORSIVA
void stampa(vector<int> v, int i)
che, dati un vector<int> v e un int i, stampi tutti
gli elementi pari di v a partire dalla posizione i. Si assuma
che 0 <= i < v.length, ovvero non e` richiesto controllare nella
funzione che i sia una posizione legale.
DOMANDA 2
Scrivete una funzione RICORSIVA
int somma(vector<int> v, int i)
che, dati un vector<int> v e un int i, restituisca la somma di
tutti gli elementi dispari di v a partire dalla posizione i. Si assuma
che 0 <= i < v.length, ovvero non e` richiesto controllare nella
funzione che i sia una posizione legale.
*/
#include <math.h>
#include <iostream>
#include <stdlib.h>
#include <string>
#include <vector>
using namespace std;
void stampa(vector<int> v, int i) {
/** DA COMPLETARE **/
}
int somma(vector<int> v, int i) {
/** DA COMPLETARE **/
}
int main() {
cout << "ATTENZIONE: " << "gli esempi inclusi possono non bastare a controllare se gli esercizi sono corretti! Inoltre, se preferite, potete scrivere un main di vostra scelta (a vostro rischio e pericolo)." << endl << endl;
// PROVA DOMANDA 1
cout << "PROVA DOMANDA" << endl << endl;
vector<int> vett(6);
vett[0]=5; vett[1]=2; vett[2]=4; vett[3]=0; vett[4]=2; vett[5]=7;
cout << "stampa(vett): "; stampa(vett, 0); cout << endl << endl;
vector<int> mioV(0);
cout << "stampa(mioV): "; stampa(mioV, 0); cout << endl << endl;
system("pause");
// PROVA DOMANDA 2
cout << "PROVA DOMANDA" << endl << endl;
vector<int> vett(6);
vett[0]=5; vett[1]=2; vett[2]=4; vett[3]=0; vett[4]=2; vett[5]=7;
cout << "somma(vett, 0) = " << somma(vett, 0) << endl << endl;
vector<int> mioV(0);
cout << "somma(mioV, 0) = " << somma(mioV, 0) << endl << endl;
vector<int> vett2(3);
vett2[0] = -5; vett2[1] = -2; vett2[2] = -1;
cout << "somma(vett2, 1) = " << somma(vett2, 1) << endl << endl;
system("pause");
}