Liczenie odchylenia standardowego ze wzoru

0

Kod:
https://ideone.com/m7QwPr
Jak najprościej mógłbym zapisać ten wzór w kodzie?
Chętnie poczytam uwagi względem całego kodu.

obraz_2021-11-22_150100.png

3

X z tyldą to zwykła średnia którą już obliczyłeś;
N to ilość elementów;
Znak Sigmy to zwyczajna suma dla wszystkich i z zakresu 0..(N-1).

0

https://ideone.com/rFMep5
xi to suma wszystkich liczb w tabeli?

2

Nie, xi to twoja t[i]

Wg mnie całość powinna wyglądać mniej więcej następująco:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <math.h>

#define N 30

typedef struct { int tb[N]; double sum,avg,deviation; } Data;

void generate(Data *data)
{
	data->sum=data->avg=data->deviation=0;
    for(int i=0;i<N;++i) data->tb[i]=rand()%200-100;
}
 
void calcsum(Data *data)
{
    for(int i=0;i<N;++i) data->sum+=data->tb[i];
}

void calcavg(Data *data)
{
	data->avg=data->sum/N;
}

void calcdeviation(Data *data)
{
	for(int i=0;i<N;++i)
	{
		double v=data->tb[i]-data->avg;
		data->deviation=v*v;
	}
	data->deviation/=N;
}
 
void show(Data *data)
{
    for(int i=0;i<N;++i) printf("%d: %d\n",i+1,data->tb[i]);
    printf("suma= %.0lf\n",data->sum);
    printf("srednia= %.2lf\n",data->avg);
    printf("odchylenie= %.2lf\n",data->deviation);
}

int main()
{
 	Data data; 
	srand(time(NULL));
    generate(&data);
    calcsum(&data);
    calcavg(&data);
    calcdeviation(&data);
    show(&data);
    return 0;
}
0

Dobra dzięki przeanalizowałem twój kod i mieszałem się w operacjach które musiałem wykonywać w tym wzorze...
Usunąłem na chwile sranda żebym wynik miał taki jak ty i wychodzi już git.
https://ideone.com/w8UG1O
http://forum.4programmers.net/1208091 to względem polskiego nazewnictwa funkcji tak?
A jakiś link z wytłumaczeniem jak działa "->" miałbyś?

Faktycznie po co mi kolejna zmienna j jak można i+1...

1 użytkowników online, w tym zalogowanych: 0, gości: 1