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

Вывести k максимальных чисел массива в порядке убывания - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Конфликты хейдеров,не знаю как исправить http://www.cyberforum.ru/cpp-beginners/thread580003.html
Помоги плз,почитал в интернете,пишут,что конфликт хейдеров. Вот какие ошибки выдает k:\курсовой проект\курсовой проект\vd.h(1): error C2143: синтаксическая ошибка: отсутствие ";" перед "*"...
C++ Изменение массива в функции В процессе разработки возникла проблема. Нам надо передать в процедуру (тип функции void) двумерный массив, изменить его в ней. Изменения мы должны видеть из вызвавшей функции. Из-за использования... http://www.cyberforum.ru/cpp-beginners/thread580001.html
C++ Реализация алгоритма шифрования IDEA
нашла реализацию алгоритма шифрования IDEA ,выдает 2 ошибки,не знаю как исправить,чтоб работало strncpy: невозможно преобразовать параметр 2 из "_TCHAR *" в "const char *" error C2065: arg:...
C++ работа с классом string
у меня есть переменная типа string key(из 16 символов),мне нужно получить из нее 8 отдельных переменных (k) каждый по 2 байта,как это осуществить? (надеюсь получилось обьяснить что мне надо)
C++ значение функции http://www.cyberforum.ru/cpp-beginners/thread579986.html
Написать программу вычисления значения функции, заданной в виде ряда, с погрешностью E > 0, т.е. чтобы для заданной погрешности выполнялось соотношение . Определить количество членов ряда,...
C++ Как преобразовать большое число в строку Делаю такое преобраование char szbuff; double X=3292373930; sprintf(szbuff, "%g", X); string X_str=szbuff; В результате получаю X_str равно 3292370000 при записи в БД а в текстовый файл... подробнее

Показать сообщение отдельно
gray_fox
What a waste!
1521 / 1226 / 70
Регистрация: 21.04.2012
Сообщений: 2,565
Завершенные тесты: 3
20.05.2012, 02:27
Цитата Сообщение от S.k.y Посмотреть сообщение
как сделать сортировку элементов массива от большего к меньшему
std::sort + std::greater (из <algorithm>):
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <algorithm>
#include <iterator>
 
 
int main() {
   int vector[] = {1, 2, -1, -8, 7, 6, 55, 44, -3, -2, -222};
   std::size_t const n = sizeof(vector) / sizeof(*vector);
   std::size_t const k = 4;
   
   std::sort(&vector[0], &vector[0] + n, std::greater<int>());
   std::copy(&vector[0], &vector[0] + k, std::ostream_iterator<int>(std::cout, " "));
}
http://liveworkspace.org/code/773d5976d8eeaa92cfba9228de417b67

Добавлено через 7 минут
Вообще весь массив сортировать ни к чему, достаточно получить первые k элементов:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <algorithm>
#include <iterator>
 
 
int main() {
   int vector[] = {1, 2, -1, -8, 7, 6, 55, 44, -3, -2, -222};
   std::size_t const n = sizeof(vector) / sizeof(*vector);
   std::size_t const k = 4;
   
   std::partial_sort(&vector[0], &vector[0] + k, &vector[0] + n, std::greater<int>());
   std::copy(&vector[0], &vector[0] + k, std::ostream_iterator<int>(std::cout, " "));
}
http://liveworkspace.org/code/2cf9dcea389f85f15db38d072c0151dc
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru