oregon ha scritto:
Ma hai letto quello che ti ho scritto di fare? O no?
Hai ragione, avevo capito male: adesso funziona.
Grazie a entrambi (scusatemi se a volte faccio male, ho cominciato a programmare da settembre 2020)
include <iostream>
#include <cmath>
using namespace std;
int menu(void);
int leggi(int vett[]);
float media(int vett[], int N);
float varianza(int vett[], int N);
void scrivi(int vett[], int N);
void elimina(int vett[], int N);
int main(){
const int max=100;
int N, scelta=0; //Dichiarazione delle varabili
bool data=false;
int vett[max];
system("TITLE Esercizio di pg.22 n.7"); //Titolo e colori
system("COLOR 02");
do{
system("CLS");
scelta=menu();
if(data==false){ //Verifica dell'immissione di
while(scelta==2){ //una sequenza iniziale
cout<<endl<<" Impossibile esegurire, inserire prima una sequenza"<<endl<<endl;
system("PAUSE");
system("CLS");
scelta=menu();
}
}
system("CLS");
data=true;
switch(scelta){
case 1:
N=leggi(vett);
break;
case 2:
scrivi(vett, N);
break;
case 3:
cout<<" ****************************************************************************"<<endl;
cout<<" * 3. Uscita *"<<endl;
cout<<" ****************************************************************************"<<endl<<endl;
cout<<" ****************************************************************************"<<endl;
cout<<" * Grazie per aver usato il programma :) *"<<endl;
cout<<" * *"<<endl;
cout<<" * *"<<endl;
cout<<" * *"<<endl;
cout<<" * *"<<endl;
cout<<" * *"<<endl;
cout<<" * *"<<endl;
cout<<" ****************************************************************************"<<endl<<endl;
system("PAUSE");
break;
}
}while(scelta!=3);
}
int menu(void){ //Pannellomenù con input della scelta
int scelta;
cout<<" ****************************************************************************"<<endl;
cout<<" * ESERCIZIO DI PG.22 N.7 *"<<endl;
cout<<" ****************************************************************************"<<endl<<endl;
cout<<" ****************************************************************************"<<endl;
cout<<" * Menu\' principale *"<<endl;
cout<<" ****************************************************************************"<<endl;
cout<<" * 1. Acquisizione vettore *"<<endl;
cout<<" * 2. Output dei risultati *"<<endl;
cout<<" * *"<<endl;
cout<<" * *"<<endl;
cout<<" * 3. Uscita *"<<endl;
cout<<" ****************************************************************************"<<endl<<endl;
cout<<" Inserire scelta (1, 2 oppure 3) ";
cin>>scelta;
while(scelta < 1 || scelta > 3){
cout<<" Scelta non valida, reinserire il valore: ";
cin>>scelta;
}
return scelta;
}
int leggi(int vett[]){
int i, n, N;
cout<<" ****************************************************************************"<<endl; //Pannello di acquisizione
cout<<" * 1. Acquisizione sequenza *"<<endl;
cout<<" ****************************************************************************"<<endl<<endl;
cout<<" ****************************************************************************"<<endl;
cout<<" * Quanti elementi deve contenere il vettore? *"<<endl;
cout<<" * ";
cin>>N;
cout<<" * Inserire gli elementi del vettore: *"<<endl;
cout<<" * *****"<<endl;
for(i=0; i<N; i++){
cout<<" * ";
cin>>n;
vett[i]=n;
}
system("PAUSE");
return N;
}
void scrivi(int vett[], int N){
float m, v;
m=media(vett, N);
v=varianza(vett, N);
cout<<" ****************************************************************************"<<endl; //Pannello di Out 1
cout<<" * 2. Output dei risultati *"<<endl;
cout<<" ****************************************************************************"<<endl<<endl;
cout<<" ****************************************************************************"<<endl;
cout<<" * La media e\'uguale a: "<<m<<endl;
cout<<" * *"<<endl;
cout<<" * La varianza e\' uguale a: "<<v<<endl;
cout<<" * *"<<endl;
cout<<" * *"<<endl;
cout<<" * *"<<endl;
cout<<" * *"<<endl;
cout<<" ****************************************************************************"<<endl<<endl;
system("PAUSE");
}
float media(int vett[], int N){
int i;
float m=0;
for(i=0; i<N; i++)
m=m+vett[i];
m=m/N;
return m;
}
float varianza(int vett[], int N){
int i;
float v=0, m;
m=media(vett, N);
for(i=0; i<N; i++)
v=v+((vett[i]-m)*(vett[i]-m));
v=v/N;
v=sqrt(v);
return v;
}
void elimina(int vett[], int N){
int i;
while(N>0){ //Svuotamento di vettore
i=0;
while(i<(N-1)){
vett[i]=vett[i+1];
i++;
}
N--;
}
}