Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
programmer4
0 / 0 / 0
Регистрация: 20.10.2011
Сообщений: 35
#1

векторы С++

29.11.2011, 20:26. Просмотров 1649. Ответов 4
Метки нет (Все метки)

С текстового файла считать действительные числа в вектор. С вектора удалить все нечетные положительные числа. Образованные элементы перенести в список в обратном порядке. Вывести на экран образован список.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.11.2011, 20:26
Ответы с готовыми решениями:

Векторы
Здравствуйте. Использую векторы типа vector<string> sentence;. Описываю их в...

Векторы
Определите полусумму длин двух векторов А(1,5; 2,5; -0,3) и В(-11,7; -9,3; 2,5;...

Векторы!!!
Как найти произведение двух векторов и записать это в рабочем варианте ...

Векторы!
Введите вектор и найдите его норму: сумму абсолютных величин координат. Что...

Векторы
Имеется структура "Магазины", где в качестве полей есть: Название, Город,...

4
ForEveR
В астрале
Эксперт С++
7995 / 4754 / 651
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
29.11.2011, 20:54 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <vector>
#include <algorithm>
#include <list>
#include <fstream>
#include <iterator>
 
int main()
{
   std::ifstream ifs("file.txt");
   std::vector<double> vec((std::istream_iterator<double>(ifs)), std::istream_iterator<double>());
   vec.erase(std::remove_if(vec.begin(), vec.end(), [](const double v) {return (int(v)%2) && v > 0; }), vec.end());
   std::list<double> lst(vec.rbegin(), vec.rend());
   std::copy(lst.begin(), lst.end(), std::ostream_iterator<double>(std::cout, "\n"));
   return 0;
}
Можно сделать короче не юзать erase а использовать сразу copy_if.
0
programmer4
0 / 0 / 0
Регистрация: 20.10.2011
Сообщений: 35
29.11.2011, 21:01  [ТС] #3
не работает ((((
0
Bers
Заблокирован
29.11.2011, 21:04 #4
ну потому что ещё не все компиляторы поддерживают всякие лямбды
1
ForEveR
В астрале
Эксперт С++
7995 / 4754 / 651
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
29.11.2011, 21:06 #5
programmer4, Все работает. Просто здесь используется новый стандарт.

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
#include <iostream>
#include <vector>
#include <algorithm>
#include <list>
#include <fstream>
#include <iterator>
#include <functional>
 
struct some : std::unary_function<double, bool>
{
public:
   result_type operator () (const argument_type& arg)
   {
       return arg > 0 && static_cast<int>(arg) % 2;
   }
};
 
int main()
{
   std::ifstream ifs("file.txt");
   std::vector<double> vec((std::istream_iterator<double>(ifs)), std::istream_iterator<double>());
   vec.erase(std::remove_if(vec.begin(), vec.end(), some()), vec.end());
   std::list<double> lst(vec.rbegin(), vec.rend());
   std::copy(lst.begin(), lst.end(), std::ostream_iterator<double>(std::cout, "\n"));
   return 0;
}
0
29.11.2011, 21:06
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.11.2011, 21:06

Векторы
Изучаю сейчас библиотеку vector. #include &lt;vector&gt; int main() { ...

Векторы
Доброго времени суток! Очень нужна помощь в двух задачах. Заранее спасибо! ...

Векторы в с++
Привет мостера помогите решить задания. Реализовать...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru