Запрашивает у пользователя положительное целое N Запрашивает у него N целых чисел, сохраняет их в массиве а потом Выводит их среднее арифметическое и дисперсию.
На Си++(как можно проще
Другие языки программирования и технологии
Программирование на Си++
#include <iostream>
#include <vector>
#include <iomanip>
using namespace std;
class Box {
public:
Box() : count_(0U) {}
void clear() {
box_.clear();
box_.shrink_to_fit();
}
void count(const size_t n) {
count_ = n;
}
bool add(const int value) {
box_.push_back(value);
return box_.size() < count_;
}
double average()const {
auto sum = 0.0;
for (const auto value : box_) sum += value;
return sum / count_;
}
double dispersion()const {
auto sum = 0.0;
const auto avg = average();
for (const auto value : box_) sum += pow(value - avg, 2);
return sum / count_;
}
double sd()const {
return sqrt(dispersion());
}
private:
size_t count_;
vector<int> box_;
};
int main() {
cout << "n: ";
size_t limit;
cin >> limit;
Box box;
box.count(limit);
cout << ">>> ";
int value;
do cin >> value; while (box.add(value));
const streamsize place = 3U;
cout << fixed << setprecision(place)
<< "\nAverage: " << box.average()
<< "\nDispersion: " << box.dispersion()
<< "\nStandard deviation: " << box.sd()
<< endl;
system("pause");
}
#include <vector>
#include <iomanip>
using namespace std;
class Box {
public:
Box() : count_(0U) {}
void clear() {
box_.clear();
box_.shrink_to_fit();
}
void count(const size_t n) {
count_ = n;
}
bool add(const int value) {
box_.push_back(value);
return box_.size() < count_;
}
double average()const {
auto sum = 0.0;
for (const auto value : box_) sum += value;
return sum / count_;
}
double dispersion()const {
auto sum = 0.0;
const auto avg = average();
for (const auto value : box_) sum += pow(value - avg, 2);
return sum / count_;
}
double sd()const {
return sqrt(dispersion());
}
private:
size_t count_;
vector<int> box_;
};
int main() {
cout << "n: ";
size_t limit;
cin >> limit;
Box box;
box.count(limit);
cout << ">>> ";
int value;
do cin >> value; while (box.add(value));
const streamsize place = 3U;
cout << fixed << setprecision(place)
<< "\nAverage: " << box.average()
<< "\nDispersion: " << box.dispersion()
<< "\nStandard deviation: " << box.sd()
<< endl;
system("pause");
}
#include "iostream"
using namespace std;
int main()
{ double s,d,x,a[100000]; int k,n; na:cout << "n=?\b"; cin >> n; s=0; d=0; for (k=0 ; k<n ; k++){cout << k << " : "; cin >> a[k]; s+=a[k];}
s/=n; for (k=0 ; k<n ; k++) { x=a[k]-s; d+=x*x; }
d/=n; cout << "среднее=" << s << '\n' << "дисперсия=" << d << '\n'; goto na; }
using namespace std;
int main()
{ double s,d,x,a[100000]; int k,n; na:cout << "n=?\b"; cin >> n; s=0; d=0; for (k=0 ; k<n ; k++){cout << k << " : "; cin >> a[k]; s+=a[k];}
s/=n; for (k=0 ; k<n ; k++) { x=a[k]-s; d+=x*x; }
d/=n; cout << "среднее=" << s << '\n' << "дисперсия=" << d << '\n'; goto na; }
Похожие вопросы
- Посоветуйте книги по программированию на Си.
- программирование на си++
- Помогите с программированием на Си
- программирование в си
- Есть вопрос по программированию в СИ
- Программирование на Си. нужно написать прогу
- Помогите с программированием на си
- программирование в Си
- Привет, помогите с программированием на СИ, передача массива в функцию..
- Программирование на Си
впадает в бесконечный цикл
n=?0 : среднее=2
дисперсия=0
n=?0 : 1 : 2 : среднее=1
дисперсия=2
n=?0 : 1 : 2 : среднее=1
дисперсия=2
n=?0 : 1 : 2 : среднее=1
дисперсия=2
n=?0 : 1 : 2 : среднее=1
дисперсия=2
n=?0 : 1 : 2 : среднее=1
дисперсия=2
n=?0 : 1 : 2 : среднее=1
дисперсия=2
n=?0 : 1 : 2 : среднее=1
дисперсия=2
n=?0 : 1 : 2 : среднее=1
дисперсия=2
n=?0 : 1 : 2 : среднее=1
дисперсия=2
n=?0 : 1 : 2 : среднее=1
дисперсия=2
n=?0 : 1 : 2 : среднее=1
cout << k+1 << " : ";