Witam chciałbym prosić o pomoc w napisaniu programu "ktory wyznacza srednią z ilosci wartosci wprowadzonych z klawiatury liczba danych wprowadzonych do programu jest wpisywana jako pierwsza dana do programu po czym następuje wprowadzanie kolejnych liczb z ktorych nalezy obliczyc srednia" Próbuje zrobić to przez polecenie for jednak ciągle wyskakują mi jakies błedy :(
pokaz kod
Wklej kod i wyskakujące błędy, nikt nie jest jasnowidzem.
nie bardzo tez rozumiem o co chodzi w tym poleceniu, ale probuje napisac dobre polecenie na dwa sposoby
1)
int main(int argc, char* argv[])
{
float a;
float suma=0;
char s;
int i=0;
do
{
cout<<"Podaj wartosc: ";
cin>>a;
i++;
suma=suma+a;
cout<<"Wprowadzasz kolejna wartosc czy chcesz obliczyc srednia z wprowadzonych liczb?"<<endl<<"w=wartosc s=srednia"<<endl;
s=getch();
}
while (s=='w');
{
cout<<"srednia= "<<suma/i<<endl;
}
getch();
}
int main(int argc, char* argv[])
{
randomize();
int dane [50];
int suma=0;
float srednia=0;
float s;
int N=50;
for (int i = 0; i < 50; i++)
{
dane[ i ] = random(51)+20;
cout<<setw(5)<<dane[ i ];
suma=suma+dane[ i ];
}
srednia=(float)suma/50;
cout<<endl<<"Srednia wynosi: "<<srednia<<endl;
for(int i=0;i<N;i++)
{
suma=suma+pow(dane[i]-srednia,2);
s=pow(suma/N-1,0.5);
}
cout<<"S rowna sie: "<<s<<endl;
getch();
return 0;
}
Najpierw wczytaj ilość liczb z których ma byc policzona średnia, następnie zadeklaruj tablice o takim rozmiarze.
int n;
scanf("%d", &n);
int a[n];
m.zoltowski napisał(a)
Najpierw wczytaj ilość liczb z których ma byc policzona średnia, następnie zadeklaruj tablice o takim rozmiarze.
int n;
scanf("%d", &n);
int a[n];
scanf("%d",&n")
int *a=new int[n]
tak chyba powinno to wyglądać jak juz .
co do problemu moze by tak ?
#include <iostream>
#include <stdlib.h>
using namespace std;
int main()
{
int n=0;
int a=0;
int suma=0;
double srednia=0
cin >> n;
for (int i=1;i<=n;i++)
{
cin >> a;
suma = suma +a;
srednia=suma/i;
}
cout << srednia << endl;
system("pause");
return 0;
}
Kod jest błędny. Daje np. takie wyniki
2
2000000000
2000000000
-1.47484e+0082
3
4
3
Dwie możliwości naprawy:
#include <iostream>
#include <stdlib.h>
using namespace std;
int main()
{
int n=0;
int a=0;
float suma=0;
cin >> n;
for (int i=1;i<=n;i++)
{
cin >> a;
suma = suma +a;
}
cout << suma/n << endl;
return 0;
}
#include <iostream>
#include <stdlib.h>
using namespace std;
int main()
{
int n=0;
int a=0;
double srednia=0;
cin >> n;
for (int i=1;i<=n;i++)
{
cin >> a;
srednia=(srednia*(i-1))/i+((double)a)/i;
}
cout << srednia << endl;
return 0;
}
nie testetowałem kodu , starałem sie tylko schemat zachować i faktycznie nie potrzebnie srednia w petli ;) ale wydawalo mi sie ze koleg chcial wyliczac srednia z danych liczb ktore juz wprowadził mniejsza o to...