Здраствуйте!
Недавно начал изучать C++
Есть проблемы с созданием функции
#include <iostream>
#include <math.h>
#include <cmath>
int main(void)
{
int sum;
sum = 0;
double summ;
summ = 1;
double sr;
sr = 0;
int i;
int n;
printf("Vvedite razmer massiva",i);
scanf("%d", &i);
int * a = (int*) malloc(i*sizeof(int));
for (n = 0; n<i; n ++ )
{
printf("a[%d] = ", n);
scanf("%d", &a[n]);
}
for (n = 0; n<i; n ++ )
{
printf("%d", a[n]);
}
for ( n = 0;n < i ; n ++)
{
sum = sum + a[n];
}
sr = sum / n;
for (n = 0; n < i; n ++)
{
summ = summ * a[n];
}
printf("\n");
printf("%f",sr);
printf("\n");
printf("%f",sqrt(summ));
return 0;
}
Как задать функцию для среднего арифметического и геометрического?
Помогите пожалуйста!
C/C++
СОЗДАНИЕ ФУНКЦИЙ В C++
С самого начала надо приступать к работе с массивами разных типов и со стандартными контейнерами (например, типа vector, который, собственно, динамический массив и есть, но работа с которым часто удобнее чем с массивами).
А насчёт среднего геометрического надо сказать следующее: чтобы при его вычислениях не возникало всяких дурацких машинного нуля или машинной бесконечности, надо действовать достаточно осторожно. Ниже для этого пример (как раз с векторами, значения компонент которых вводятся с клавиатуры):
А насчёт среднего геометрического надо сказать следующее: чтобы при его вычислениях не возникало всяких дурацких машинного нуля или машинной бесконечности, надо действовать достаточно осторожно. Ниже для этого пример (как раз с векторами, значения компонент которых вводятся с клавиатуры):
#include
#include
#include
using namespace std;
double arithm(vector X)
{ int i, n = X.size(); double s = 0.;
for (i = 0; i < n; i++) s += X[i]; return s / n; }
double geom(vector X)
{ double s = 0.; int i, n = X.size();
for (i = 0; i < n; i++) s += log(X[i]);
return exp(s / n); }
int main()
{ double x; int i, n; cout.precision(16);
vector A; while (true)
{ cout > n; if (n < 1) break;
for (i = 0; i < n; i++) { cin >> x; A.push_back(x); }
cout
#include
#include
using namespace std;
// Среднее арифметическое вещественного массива
double arithmetic_mean(double* box, const size_t n) {
auto sum = 0.0;
for (size_t i = 0; i < n; ++i) sum += box[i];
return sum / n;
}
// Среднее геометическое вещественного массива
double geometric_mean(double* box, const size_t n) {
auto m = 1.0;
for (size_t i = 0; i < n; ++i) m *= box[i];
const auto k = 1.0 / n;
return pow(m, k);
}
int main() {
cout > n;
auto* box = new double[n];
cout > box[i];
auto am = arithmetic_mean(box, n);
cout
Похожие вопросы
- Сделать перестановку чисел с помощью функции в C++, но у меня получается чепуха
- Создание функции std::size_t String::find(char ch)
- Размер динамического массива, передаваемого в функцию в C++.
- Помогите написать функцию на C++
- Не работает функция catch() | C++
- Как написать функцию в c++ которая складывает все положительные числа
- Сделать через функцию strcat c++
- Создание таблицы в C++
- C++ Выведите в порядке возрастания все простые числа на отрезке [l;r]. Оформите решение в виде функции bool
- Помогите решить задачу, c++, функции