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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
Sylar9
-20 / 55 / 2
Регистрация: 04.09.2011
Сообщений: 1,927
Записей в блоге: 1
#1

Не работает функция sort - C++

09.11.2011, 13:44. Просмотров 1302. Ответов 11
Метки нет (Все метки)

Вот код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;
int main()
{
int temp;
vector<double> age(5);
while(cin>>temp)
    age.push_back(temp);
    
   cout << sort((age.begin(), age.end())) << endl;
    
    
 
system("system");
return 0;
 
}
Вот ошибка компилятора
Вектор.cpp no matching function for call to `sort(__gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >)'
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.11.2011, 13:44
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не работает функция sort (C++):

Как работает функция sort(); ? - C++
Помогите разобраться с функцией sort(); Вот например: void SORT(int **arr, int M, int N){ for (int i = 0; i &lt; M; i++) { ...

Не работает функция sort (vector, vector) - C++
#include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;vector&gt; #include &lt;string&gt; #include &lt;algorithm&gt; using namespace std; class...

Функция sort - C++
#define _CRT_SECURE_NO_WARNINGS #include &lt;string&gt; #include &lt;iostream&gt; #include &lt;map&gt; #include &lt;math.h&gt; #include &lt;algorithm&gt; ...

Функция sort() - C++
Непонятно как работает функция из STL sort(). В нее третьим аргументом можно передавать некую функцию, предикату, которая возвращает...

Функция sort и ошибка С2228 - C++
Доброго времени суток, пытаюсь постичь функцию sort на примере сортировки классов, но все время выдает ошибку С2228, не могу понять что...

Std::sort - 3 аргумент другая функция - C++
Здравствуйте. Так все работает //вызывается из наследника sort(group.begin(), group.end(), ( MyClass&amp; obj1, MyClass&amp; obj2)...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
ForEveR
В астрале
Эксперт С++
7972 / 4734 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
09.11.2011, 13:46 #2
Sylar9,
C++
1
sort(age.begin(), age.end());
Зачем вы все это еще в скобки обернули? Кстати, sort ничего не возвращает, она работает in-place.
0
diagon
Higher
1929 / 1195 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
09.11.2011, 13:48 #3
Цитата Сообщение от ForEveR Посмотреть сообщение
Sylar9,
C++
1
sort(age.begin(), age.end());
Зачем вы все это еще в скобки обернули? Кстати, sort ничего не возвращает, она работает in-place.
Присоединяюсь.
Также
C++
1
2
3
4
int temp;
vector<double> age(5);
while(cin>>temp)
    age.push_back(temp);
Ужас же. Я думаю, вы хотели этим блоком считать 5 чисел в вектор? Ну так вот получиться не то, что вы ожидаете.
А именно, ввод будет идти до тех пор, пока вы не введете EOF либо не-double, и элементы будут записываться в конец вектора, в котором изначально 5 нулей.
0
Sylar9
-20 / 55 / 2
Регистрация: 04.09.2011
Сообщений: 1,927
Записей в блоге: 1
09.11.2011, 14:03  [ТС] #4
Цитата Сообщение от diagon Посмотреть сообщение
Присоединяюсь.
Также
C++
1
2
3
4
int temp;
vector<double> age(5);
while(cin>>temp)
    age.push_back(temp);
Ужас же. Я думаю, вы хотели этим блоком считать 5 чисел в вектор? Ну так вот получиться не то, что вы ожидаете.
А именно, ввод будет идти до тех пор, пока вы не введете EOF либо не-double, и элементы будут записываться в конец вектора, в котором изначально 5 нулей.
а как это можно убрать
0
diagon
Higher
1929 / 1195 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
09.11.2011, 14:07 #5
Цитата Сообщение от Sylar9 Посмотреть сообщение
а как это можно убрать
Убрать? Что убрать?
Ввод пяти элементов в вектор можно так сделать
C++
1
2
3
vector<double> age(5);
for (int i = 0; i < 5; ++i)
   std::cin >> age[i];
0
Sylar9
-20 / 55 / 2
Регистрация: 04.09.2011
Сообщений: 1,927
Записей в блоге: 1
09.11.2011, 14:09  [ТС] #6
Цитата Сообщение от diagon Посмотреть сообщение
Убрать? Что убрать?
Ввод пяти элементов в вектор можно так сделать
C++
1
2
3
vector<double> age(5);
for (int i = 0; i < 5; ++i)
   std::cin >> age[i];
Просто в книги страпуструпа описуеться ввод через whule
0
ForEveR
В астрале
Эксперт С++
7972 / 4734 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
09.11.2011, 14:11 #7
Sylar9, Тогда не инициализируйте вектор изначально. Пусть будет пустой.
0
Sylar9
-20 / 55 / 2
Регистрация: 04.09.2011
Сообщений: 1,927
Записей в блоге: 1
09.11.2011, 14:17  [ТС] #8
Цитата Сообщение от ForEveR Посмотреть сообщение
Sylar9, Тогда не инициализируйте вектор изначально. Пусть будет пустой.
просто в задачи надо ввезти 5 имя
0
OstapBender
583 / 521 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
09.11.2011, 14:19 #9
Цитата Сообщение от diagon Посмотреть сообщение
Ужас же.
почему ужас то? норм.
0
ForEveR
В астрале
Эксперт С++
7972 / 4734 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
09.11.2011, 14:23 #10
Sylar9, Парень. Читай книжку нормально. Мало-ли что написано в задаче. Надо именно 5? Сделай вектор на 5 элементов и вводи как показали через for.

Добавлено через 35 секунд
OstapBender, Ничего норм в этом нету. В посте diagon-а описано почему.
0
OstapBender
583 / 521 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
09.11.2011, 14:26 #11
ну да age(5) я пропустил.
но сам способ чтения нормальный.
0
ForEveR
В астрале
Эксперт С++
7972 / 4734 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
09.11.2011, 14:33 #12
OstapBender, Про сам способ никто и не спорит.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.11.2011, 14:33
Привет! Вот еще темы с ответами:

Отсутствуют экземпляры перегруженная функция sort - C++
#include&lt;iostream&gt; #include&lt;string&gt; #include&lt;vector&gt; #include&lt;algorithm&gt; #include&lt;cmath&gt; #include&lt;Windows.h&gt; using namespace...

Не работает сортировка Stl sort - C++
вот код сортировки массива обычным stl sort () #include&lt;conio.h&gt; #include&lt;iostream.h&gt; #include&lt;vector.h&gt; #include&lt;algorithm&gt; ...

Не работает std::sort со списком указателей - C++
Добрый день, товарищи! Делаю лабу по STL в VS 2015. имеется базовый класс и три от него унаследованных. делаю list указателей на базовый...

не могу понять почему не работает std::sort() - C++
#include &lt;vector&gt; #include &lt;algorithm&gt; using namespace std; class T{ public: T(int a_, int b_) : a(a_), b(b_){}...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
09.11.2011, 14:33
Ответ Создать тему
Опции темы

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