Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 20.01.2018
Сообщений: 64
1

Как исправить ошибку "нет соответствующей функции вызова для сортировки"

23.11.2018, 19:17. Показов 1189. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Подскажите пожалуйста, как исправить ошибку "No matching function for call to 'sort'"?Кажется все нужные библиотеки добавлены, но ошибка остается. Или не в этом дело?Увидела этот пример в книге Страуструпа.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
 #include <vector>
#include <algorithm>
 
using namespace std;
 
int main()
{
    vector <double>temps; //начинаем с пустого вектора
    for (double temp; cin>>temp;) //создаем переменную double. читаем в эту переменную элементы вектора
        temps.push_back(temp); //заполняем вектор элементами
    //вычисление средней температуры
    double sum=0; //создаем счетчик
    for (int x:temps)sum +=x; //все элементы вектора суммируются
    cout <<"Средняя температура:" <<sum/temps.size()<<"\n";// вывод на консоль: сумма элементов деленная на колличество элементов
    //Вычисление медианы
    sort(temps);
    cout<<"Медианная температура:" <<temps[temps.size()/2]<<'\n';
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.11.2018, 19:17
Ответы с готовыми решениями:

RewriteRule - Как исправить ошибку, якобы вызова папки?
RewriteEngine on RewriteRule ^user/(+)$ profile.php?id=$1 Проблема такая. Когда захожу по...

Для каждого вызова рекурсивной функции быстрой сортировки вывести left-right диапазоны
решите эту задачу, используя векторы, заранее спасибо Постановка задачи Пожалуйста, реализовать...

Нет подходящей функции для вызова
Добрый вечер ребята! Помогите исправить ошибку. При компиляции выскакивает ошибка &quot;error: no...

Как исправить ошибку в XE7 при указании типа аргумента для функции?
Добрый день! Раньше писал сайты на php и Yii, решил освоить с++ и компоненты Среды разработки ...

Как исправить ошибку, выводит только первый элемент после сортировки?
using System; using System.Collections.Generic; using System.Linq; namespace Class { ...

2
1352 / 851 / 365
Регистрация: 26.02.2015
Сообщений: 3,799
23.11.2018, 19:29 2
C++
1
std::sort(temps.begin(), temps.end());
1
98 / 64 / 36
Регистрация: 14.10.2018
Сообщений: 152
23.11.2018, 19:37 3
Функция sort принимает итераторы на начало и конец контейнера, это сделано для того, чтобы не быть зависимым от конкретного контейнера. В цикле for вы использовали int для прохода по вектора из double. Должно быть примерно так, но у меня написано в старом стандарте(компилятор шалит и свежий не принимает)
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 <algorithm>
 
using namespace std;
 
int main() {
    vector<double> temps; //начинаем с пустого вектора
    for(double temp; cin >> temp;) //создаем переменную double. читаем в эту переменную элементы вектора
        temps.push_back(temp); //заполняем вектор элементами
    //вычисление средней температуры
    double sum = 0; //создаем счетчик
    for(vector<double>::iterator iter = temps.begin();iter != temps.end();++iter)
        sum += *iter; //все элементы вектора суммируются
    cout << "Средняя температура:" << sum / temps.size() << "\n"; // вывод на консоль: сумма элементов деленная на колличество элементов
    //Вычисление медианы
    sort(temps.begin(), temps.end());
    cout << "Медианная температура:" << temps[temps.size() / 2] << '\n';
    return 0;
}
1
23.11.2018, 19:37
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.11.2018, 19:37
Помогаю со студенческими работами здесь

Ошибка: нет подходящей функции для вызова «QDebug::QDebug()»
Хочу нормально отлаживать проекты на Qt, но тут такая беда. Когда создаю проект с единственной...

Программа для функции f(x,y) =x+y. Исправить ошибку
Нужно создать программу, которая бы обрабатывала &quot;слово&quot; из единиц и нулей и выполняла функцию...

Нет подходящего конструктора по умолчанию. Не понимаю как исправить ошибку. Что не так?
#include &lt;iostream&gt; #include &lt;cmath&gt; #include &lt;conio.h&gt; using namespace std; class kvadrat {...

Как исправить ошибку в функции?
Запускаю функцию Код: Function GetDUnVNR(Sender: TObject;i:integer):Integer; / var begin...

Как исправить ошибку определения функции
Стоит Viisual Studio 2008 кликая на функцию правой кнопкой есть выбор 1)Перейти к определению...

Как исправить ошибку при вызове функции
Создал функцию для вычисление математической записи public static double func(double x, double...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru