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

Добавить в массив элемент после каждого числа, большего среднего арифметического - C++

Восстановить пароль Регистрация
 
тролль
0 / 0 / 0
Регистрация: 09.03.2011
Сообщений: 5
10.03.2011, 00:02     Добавить в массив элемент после каждого числа, большего среднего арифметического #1
Пользователь вводит массив чисел. Не менее 15. Добавить в массив разницу между максимальным и минимальны элементами после каждого числа, большего среднего арифметического элементов в массиве.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.03.2011, 00:02     Добавить в массив элемент после каждого числа, большего среднего арифметического
Посмотрите здесь:

C++ Добавить после каждого максимального числа число x
C++ Сформировать другой массив, в который поместить сначала числа меньшие среднего арифметического значения этого массива, затем – большие.
C++ Удалить элементы кратные 7. Добавить после каждого элемента массива элемент со значенем 0.
C++ Массив: Напечатать номер каждой строки, в которой второй элемент меньше среднего арифметического элементов этой строки, и число таких строк.
элемент в наименьшей в степени отличающийся от среднего арифметического значения C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
10.03.2011, 02:18     Добавить в массив элемент после каждого числа, большего среднего арифметического #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <list>
#include <algorithm>
#include <iostream>
#include <numeric>
#include <functional>
 
struct func:public std::unary_function<int, bool>
{
    func(double av_):average(av_)
    {
    }
    result_type operator () (argument_type one)
    {
        return one > average;
    }
private:
    double average;
};
 
int main()
{
    std::list<int> vec((std::istream_iterator<int>(std::cin)), std::istream_iterator<int>());
    int to_insert=*std::max_element(vec.begin(), vec.end()) - *std::min_element(vec.begin(), vec.end());
    double average=static_cast<double>(std::accumulate(vec.begin(), vec.end(), 0))/vec.size();
    func fct(average);
    std::list<int>::iterator iter=std::find_if(vec.begin(), vec.end(), fct);
    while(iter != vec.end())
    {   
        vec.insert(++iter, to_insert);
        if(iter != vec.end())
            iter=std::find_if(iter, vec.end(), fct);
    }
    std::copy(vec.begin(), vec.end(), std::ostream_iterator<int>(std::cout, " "));
    return 0;
}
тролль
0 / 0 / 0
Регистрация: 09.03.2011
Сообщений: 5
10.03.2011, 08:25  [ТС]     Добавить в массив элемент после каждого числа, большего среднего арифметического #3
спасибо только насколько я понимаю это на с++. а на с# так же будет
M128K145
Эксперт C++
 Аватар для M128K145
8272 / 3491 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
10.03.2011, 20:40     Добавить в массив элемент после каждого числа, большего среднего арифметического #4
тролль, так вам С++ или C#?
тролль
0 / 0 / 0
Регистрация: 09.03.2011
Сообщений: 5
12.03.2011, 14:13  [ТС]     Добавить в массив элемент после каждого числа, большего среднего арифметического #5
в двух.
Yandex
Объявления
12.03.2011, 14:13     Добавить в массив элемент после каждого числа, большего среднего арифметического
Ответ Создать тему
Опции темы

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