Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/15: Рейтинг темы: голосов - 15, средняя оценка - 4.73
2 / 2 / 1
Регистрация: 25.10.2012
Сообщений: 42

STL. Функция, которая будет искать элементы большее среднего арифметического вектора и удалять их из вектора

23.09.2013, 12:59. Показов 3183. Ответов 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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
#include <locale.h>
 
using namespace std;
 int size=7;
 
 
class Money
{
 
private:
    float c;
public:
 
    
     Money() : c(0){}
    Money(float a) : c(a){}
 
    float getC(){return c;};
    
 
    
    Money& operator*(Money &M){c *= M.c;return *this;};
    
    bool operator<(Money& m1){return this->getC() < m1.getC();};
    bool operator>(Money& m1){return this->getC() > m1.getC();};
 
    friend ostream &operator<<(ostream&out, const Money M){out<<M.c; return out;};
  
 
};
 
 
 
void out(vector<Money>&v)
{
    for(int i=0;i<size;++i)
        v.push_back(Money(rand()%10+2.5));
    cout<<"Our vector: "<<endl;
    copy(v.begin(),v.end(),ostream_iterator <Money>(cout, "\n  " ));
    cout<<endl;
    
};
 
 
int main()
{
    vector<Money> v;
    
 
    out(v);
    
    
    return 0;
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.09.2013, 12:59
Ответы с готовыми решениями:

Файл-функция: определить индекс элемента вектора с наибольшим отклонением от среднего арифметического
На информатике в лабораторной такое задание: Написать файл-функцию, которая по заданному вектору определяет номер его элемента с...

Составить подпрограмму вычисления среднего арифметического элементов вектора
Составить подпрограмму Вычисления среднего арифметического элементов вектора. Используя ее, преобразовать преобразовать квадратную матрицу...

Составить подпрограмму вычисления среднего арифметического элементов вектора
Составить подпрограмму вычисления средне арифметического элементов вектора Используя ее преобразовать квадратную матрицу следующим образом...

2
 Аватар для DiffEreD
1458 / 795 / 257
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
23.09.2013, 13:29
STL? Тогда примерно так:
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include <iostream>
#include <vector>
#include <iterator>
#include <functional>
#include <algorithm>
 
using namespace std;
int size=7;
 
class Money
{
 
private:
    float c;
public:
    Money() : c(0){}
    Money(float a) : c(a){}
 
    float getC(){return c;};
 
    Money& operator*(Money &M){c *= M.c;return *this;};
 
    bool operator<(Money& m1){return this->getC() < m1.getC();};
    bool operator>(Money& m1){return this->getC() > m1.getC();};
 
    operator float(){return c;}
 
};
 
void out(vector<Money>& v)
{
    for(int i=0;i<size;++i)
        v.push_back(Money(rand()%10+2.5));
};
 
int main()
{
   vector<Money> v;
   out(v);
 
   std::copy(v.begin(), v.end(), std::ostream_iterator<float>(std::cout, " "));
   std::cout << std::endl;
 
   float average = std::accumulate(v.begin(), v.end(), 0u) / v.size();
   std::cout << "Average is " << average << std::endl << std::endl;
   v.erase(std::remove_if(v.begin(), v.end(), std::bind2nd(std::greater<float>(), average)), v.end());
 
   std::copy(v.begin(), v.end(), std::ostream_iterator<float>(std::cout, " "));
   std::cout << std::endl;
 
   return 0;
}
1
2 / 2 / 1
Регистрация: 25.10.2012
Сообщений: 42
23.09.2013, 19:03  [ТС]
Цитата Сообщение от DiffEreD Посмотреть сообщение
STL? Тогда примерно так:
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include <iostream>
#include <vector>
#include <iterator>
#include <functional>
#include <algorithm>
 
using namespace std;
int size=7;
 
class Money
{
 
private:
    float c;
public:
    Money() : c(0){}
    Money(float a) : c(a){}
 
    float getC(){return c;};
 
    Money& operator*(Money &M){c *= M.c;return *this;};
 
    bool operator<(Money& m1){return this->getC() < m1.getC();};
    bool operator>(Money& m1){return this->getC() > m1.getC();};
 
    operator float(){return c;}
 
};
 
void out(vector<Money>& v)
{
    for(int i=0;i<size;++i)
        v.push_back(Money(rand()%10+2.5));
};
 
int main()
{
   vector<Money> v;
   out(v);
 
   std::copy(v.begin(), v.end(), std::ostream_iterator<float>(std::cout, " "));
   std::cout << std::endl;
 
   float average = std::accumulate(v.begin(), v.end(), 0u) / v.size();
   std::cout << "Average is " << average << std::endl << std::endl;
   v.erase(std::remove_if(v.begin(), v.end(), std::bind2nd(std::greater<float>(), average)), v.end());
 
   std::copy(v.begin(), v.end(), std::ostream_iterator<float>(std::cout, " "));
   std::cout << std::endl;
 
   return 0;
}
плохо считает среднее арифметическое и выводит его в int значении
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.09.2013, 19:03
Помогаю со студенческими работами здесь

Подпрограмма нахождения среднего арифметического значения элементов вектора и её использование
Здравствуйте. Прошу помочь с решением задачи: Составить подпрограмму вычисления среднего арифметического элементов вектора X=(x1, x2,...

Замена элементов вектора на любое число/оператор проверки четности чисел/нахождение среднего арифметического числа в Ml
Всех приветствую. Прошу подсказать какие операторы отвечают за проверку чётности/нечётности в matlab'e,также как именно происходит...

Функция, которая будет искать стринг внутри стринга.
Privet. Pomogite please napisat' function kotoraya bydet iskat' string vnytri stringa i vozvrochat' count. Primer: str1= saagjaakaa ...

А есть ли здесь функция поворот вектора вокруг вектора?
Задача пересчитать вектор с учётом поворота. Есть шар, заменяющий геоид, координаты камеры, нормаль в этой точке, она же вектор вверх и...

Заменить все элементы массива, меньшие среднего арифметического, значением среднего арифметического
В одномерном массиве целых чисел заменить все элементы, меньшие среднего арифметического,значением среднего арифметического,округленного до...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение/ Перевод https:/ / **********/ gallery/ thinkpad-x220-tablet-porn-gzoEAjs . . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru