Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
float pesi[100],num=0;
int I=0;
float valori[100],memoria=0;
cout<<"da quanti valori è composta la colonna dei pesi? ";
cin>>num;
for(I=1;I<=num;I++)
{
cout<<"inserisci i valori delle X singolarmente"<<endl<<"se sono seriazioni inserisci la somma dei due valori fratto 2!!!!"<<endl;
cout<<"inserisci il "<<I<<"valore ";
cin>>valori[I];
}
cout<<"ora inserisci i pesi!!";
for(I=1;I<=num;I++)
{
cout<<"inserisce il"<<I<<"peso";
cin>>pesi[I];
}
float somma=0;
for(I=0;I<num;I++)
{
somma=somma+pesi[I];
memoria=memoria+(valori[I]*pesi[I]);
}
float media=0;
media=memoria/somma;
cout<<"la media è : "<<media<<endl;
system("pause");
return 0;
}
Ho fatto questo programmino per il calcolo della media ponderata ma ho un problema,quando arrivo ad inserire i valori delle x se metto un valore con la virgola mi salta tutto e mi stampa media =1
Mi sapete dire come modificare il codice per far si che possa accettare anche i numeri con la virgola, grazie a chiunque mi dà una mano
l'errore sta nel fatto che i vettori in c/c++ partono da 0 e non da 1
quando nei cicli metti I = 1 tu salti la prima cella del vettore che ti sballa tutto il conto....
devi mettere