[С++, контрольная, нуб] Как посчитать дисперсию?
причем здесь c++?
Подруга пишет контрольную по С++
Выйди из душа, подойди к компу и открой гугл
Ахаха, из душа Я погуглила, что-то ничего не могу найти, поэтому и написала сюда
Я погуглила
фото может очень сильно помочь решению задачи, ибо писать-то там 10 строк, не более.
Пипец, а она мат. часть ботала хотя бы?
Фотку подруги в студию
за фото подруги «ввести значения», за свои — «найти дисперсию»
да на самом деле это контрольная, тем более у подруги, пытаться тут объяснить и научить бесполезно, имхо.
std::list подойдет, я думаю
Сообщение удалил
#include <iostream>
#include <vector>
#include <cmath>
using namespace std;
int main
{
int n;
cin >> n;
vector<double> numbers;
numbers.reserve(n);
for( int i = 0; i < n; ++i ) {
double x;
cin >> x;
numbers.push_back(x);
}
double sum = 0;
double sumsq = 0;
for( int i = 0; i < n; ++i ) {
sum += numbers[i];
sumsq += numbers[i] * numbers[i];
}
double mean = sum / n;
double ssq = (sumsq / n - mean * mean) * n / (n - 1);
double p = sqrt(ssq);
cout << "Sum: " << sum << endl;
cout << "Mean: " << mean << endl;
cout << "s^2: " << ssq << endl;
cout << "p: " << p << endl;
double z = sum;
double b = sum + mean;
// Тут осталось решить уравнение
double D = p * p - 4 * b * z;
if( D < 0 ) {
cout << "no solutions" << endl;
} else {
cout << "x1 = " << (-p - sqrt(D / (2 * b) << ", " << "x2 = " << (-p + sqrt(D / (2 * b) << endl;
}
return 0;
}
сдался, так и не дождавшись фоток
четай тред, были фотки и даже сейчас можно найти
хотя у тебя именно так, да
ясен пень, просто надо же ввести и посчитать, если бы просто посчитать, то не нужен был бы массив, да.
а в чем смысл уравнения в конце?
мб, это связано:
#include <iostream>
using namespace std;
int main
{
int n;
double S, S2, x;
for( n=1,S=0,S2=0; ; n++ )
{
cout << n << "-ое число = ";
cin >> x;
S += x;
S2 += x*x;
cout << "дисперсия = " << (S2/n) - (S/n)*(S/n) << endl;
}
}
#include <iostream>
using namespace std;
int main {
int n;
for(n = 0; n < 300; n++) {
cout << "Нет сисек — нет программы! :umnik:" << endl;
}
}
Как?
Оставить комментарий
ivan221955
Нужно ввести значения и найти дисперсию. В душе не знаю, как это делается:(