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

Получить новый массив, содержащий те элементы, которые меньше среднего арифметического, удалив их из исходного - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вычислить сумму указанных элементов матрицы http://www.cyberforum.ru/cpp-beginners/thread1081814.html
Реализовать программу вычисления суммы элементов матрицы, расположенных на картинке
C++ Программа которая будет считывать информацию с монитора Здравствуйте уважаемые форумчане, препод по C++ дал задание, надо написать программу. Суть программы в том, чтобы моя прога взаимодействовала с прогой препода, нажимала старт и считывала цифру, которая появиться в одном из 9 окошек. Препод все время на каких то семинарах и последняя тема была циклы, работаем в Borland C++, поэтому я не знаю как это все реализовать, могу на скорую руку изучить MS... http://www.cyberforum.ru/cpp-beginners/thread1081812.html
C++ Элементы одномерного массива A (n^2) разместить в матрице N (n, n) по строкам
Элементы одномерного массива A (n^2) разместить в матрице N (n, n) по строкам
C++ сформировать одномерный массив по условию
По условию:
C++ Нахождение наибольшей общей подстроки! http://www.cyberforum.ru/cpp-beginners/thread1081767.html
/* Найти наибольшую общую подстроку у всех строк. Всего k строк(1<=k<=10). В каждой строке не более 10000 символов(маленькие латинские буквы). Изначально вводится кол-во строк(k), далее сами строки. Ограничения: ОЗУ<=512мб, время <= 1с ----------------------------------------------------------------------------
C++ MPI_Comm_split #include <mpi.h> #include <conio.h> #include <iostream> using namespace std; int main(int argc,char **argv) { MPI_Init(&argc,&argv); MPI_Comm A,B,C; int rank,size,result,newrank; A=MPI_COMM_WORLD; подробнее

Показать сообщение отдельно
Tulosba
:)
Эксперт C++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
26.01.2014, 20:37     Получить новый массив, содержащий те элементы, которые меньше среднего арифметического, удалив их из исходного
cooller_94, чтоб std::accumulate дал результат в double, можно было просто начальное значение задать как 0.0
Удаление элемента должно быть организовано так чтобы итератор не становился недействительным:
C++
1
2
3
4
5
for(auto it = Vector.begin(); it!=Vector.end();)
{
   if( *it<average ) it = Vector.erase(it);
   else it++;
}
Или даже так:
C++
1
2
auto it = std::remove_if( Vector.begin(), Vector.end(), [average](int i){ return i<average; } );
Vector.erase( it, Vector.end() );
P.S. и лишние хедеры
C++
1
2
#include<cstdlib>
#include<ctime>
 
Текущее время: 13:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru