Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Valik2
0 / 0 / 0
Регистрация: 27.05.2013
Сообщений: 54
#1

Передалайте задачу как можна по проще - C++

17.06.2013, 09:54. Просмотров 261. Ответов 5
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <vector>
#include <algorithm>
#include <functional>
using namespace std;
 
int main()
{
    vector<double> v {1.2, 6.0, 66.3, 9.1, 5.5, -0.5, 2.2, 7.8, 2.2};
    auto first_negative = begin(v);
    while (*first_negative > 0.0 && first_negative != end(v))
        ++first_negative;
    double geometric_mean =
        pow(accumulate(begin(v), first_negative, 1.0, multiplies<double>()),
            1.0 / static_cast<double>( distance( begin(v), first_negative ) ));
    cout << geometric_mean;
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.06.2013, 09:54     Передалайте задачу как можна по проще
Посмотрите здесь:

C++ Как проще всего нарисовать прямоугольник?
C++ нужно решить как можно проще
Можно ли это написать как то проще C++
C++ Привет. Как можна найти с даного примера умножение элементов массива с четными номерами?
C++ Сочините пример как можно проще на сдвиг
C++ можно написать ее как то проще ?
Как по проще воспроизвести WAV с указанной позиции? C++
Как проще всего понять массивы? C++
C++ Как сделать проще?
C++ Как проще всего создать множество?
Как проще всего работать с Big-Endian C++ ? C++
Как проще всего сделать интерфейс для программы на С++? C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт CЭксперт С++
 Аватар для Croessmah
12535 / 7097 / 797
Регистрация: 27.09.2012
Сообщений: 17,510
Записей в блоге: 2
Завершенные тесты: 1
17.06.2013, 10:01     Передалайте задачу как можна по проще #2
Куда проще?
Valik2
0 / 0 / 0
Регистрация: 27.05.2013
Сообщений: 54
17.06.2013, 10:06  [ТС]     Передалайте задачу как можна по проще #3
ну как можна проще я ниче непонимаю ваше здесь
Croessmah
Модератор
Эксперт CЭксперт С++
 Аватар для Croessmah
12535 / 7097 / 797
Регистрация: 27.09.2012
Сообщений: 17,510
Записей в блоге: 2
Завершенные тесты: 1
17.06.2013, 10:07     Передалайте задачу как можна по проще #4
Цитата Сообщение от Valik2 Посмотреть сообщение
ну как можна прощ
Что значит проще?
Valik2
0 / 0 / 0
Регистрация: 27.05.2013
Сообщений: 54
17.06.2013, 10:11  [ТС]     Передалайте задачу как можна по проще #5
C++
1
2
3
4
5
6
7
8
vector<double> v {1.2, 6.0, 66.3, 9.1, 5.5, -0.5, 2.2, 7.8, 2.2};
    auto first_negative = begin(v);
    while (*first_negative > 0.0 && first_negative != end(v))
        ++first_negative;
    double geometric_mean =
        pow(accumulate(begin(v), first_negative, 1.0, multiplies<double>()),
            1.0 / static_cast<double>( distance( begin(v), first_negative ) ));
    cout << geometric_mean;
вот ето
Thinker
Эксперт C++
 Аватар для Thinker
4218 / 2192 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
17.06.2013, 10:36     Передалайте задачу как можна по проще #6
Цитата Сообщение от Valik2 Посмотреть сообщение
как можна проще
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int Count(double *a, double *end)
{
   return a < end && (*a) >= 0 ? 1 + Count(a + 1, end) : 0;
}
double Prod(double *a, double *end)
{
   return a < end && (*a) >= 0 ? (*a) * Prod(a + 1, end) : 1.0;
}
int main()
{
   double a[] = {1.2, 6.0, 66.3, 9.1, 5.5, -0.5, 2.2, 7.8, 2.2};
   int n = sizeof(a) / sizeof(*a);
   printf("sred = %f\n", pow(Prod(a, a + n), 1.0 / Count(a, a + n)));
   return 0;
}
Yandex
Объявления
17.06.2013, 10:36     Передалайте задачу как можна по проще
Ответ Создать тему
Опции темы

Текущее время: 12:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru