Oregon, ho modificato un po' di messaggi dietro, forse parli di una situazione che ho già modificato.
Il programma che ho sviluppato fino ad ora è:
/* Prove d'esame - Blocco 2 - 1
Si dichiari un vettore VET di numeri reali, di cardinalità N, atto a contenenere i valori delle altezze degli studenti di
una classe. Si richieda all'utente l'inserimento di M valori di altezze. Si progetti poi una funzione che restituisca,
come parametro di ritorno, la percentuale di studenti con una altezza superiore ad un certo valore di riferimento
H fornito come parametro di ingresso dalla funzione. */
#include <iostream>
#include <cmath>
using namespace std;
typedef int AltezzeClasse[100];
void Inserimento(AltezzeClasse C, int& N);
float Percent (const AltezzeClasse C, const int N, int& alti, float& H, float& Perce);
int main (){
AltezzeClasse C;
int N;
int alti;
float H;
float Percentuale;
Inserimento (C, N);
cout << Percent (C, N, alti, H, Percentuale);
return 0;
}
void Inserimento(AltezzeClasse C, int& N){
cout << "Inserire la cardinalita' del vettore delle altezze della classe:" << endl;
cin >> N;
cout << "Ora bisogna inserire i valori delle altezze della classe." << endl;
for (int i=0; i<N; i++){
cout << "L'altezza del ragazzo " << i+1 << " e': ";
cin >> C[i];
}
}
float Percent (const AltezzeClasse C, const int N, int& alti, float& H, float& Perce){
cout << "Inserire il valore di riferimento:" << endl;
cin >> H;
alti = 0;
for (int i=0; i<N; i++)
if (H<C[i]){
alti++;
}
cout << "La percentuale di ragazzi piu' alti del valore H e':" << endl;
Perce = (alti/N)*100;
return Perce;
}
Il compilatore non mi segnala alcun problema, avvio il programma, lo provo ma non ottengo il risultato corretto.
Ora, quel che non capisco è dov'è l'errore. Ho anche confrontato la dichiarazione della funzione Perce e poi la funzione in se non trovo corrispondenze sbagliate.