Вопрос по информатике:
Есть код:
#include<iostream>
#include<ctime>
using namespace std;
int main() {
setlocale(LC_ALL, "rus");
srand(time(NULL));
int arr[15];
cout << "Неотсортированный массив из 15 случайных чисел: { ";
for (int i = 0; i < 15; i++) {
arr[i] = 0 + rand() % (20) - 10;
cout << arr[i] << " ";
}
cout <<"}"<< endl;
cout << "Отсортированный массив: [ ";
for (int i = 0; i < 15; i++)
{
for (int j = i+1; j < 15; j++)
{
if (arr[i] > arr[j]) {
swap(arr[i], arr[j]);
}
}
}
for (int i = 0; i < 15; i++)
cout << arr[i]<<" ";
cout << "]" << endl;
return 0;
}
Задание: числа в массиве - рандомные, нужно их отсортировать так: сначала отрицательные на уменьшение, потом положительные на уменьшение.
У меня только по возрастанию сортировать получаеться(
Трудности с пониманием предмета? Готовишься к экзаменам, ОГЭ или ЕГЭ?
Воспользуйся формой подбора репетитора и занимайся онлайн. Пробный урок - бесплатно!
- 15.02.2017 06:22
- Информатика
- remove_red_eye 17355
- thumb_up 48
Ответы и объяснения 1
//Microsoft (R) C/C++ Optimizing Compiler Version 19.00.23506 for x64
#include
#include
int main()
{
std::array mas = { 1, 5, -4, 9, -6, -2, 7, 8, -5, 0 };
auto it = std::partition(mas.begin(), mas.end(), [](const int& i) { return i < 0; });
std::sort(mas.begin(), it, [](const int& x, const int& y) { return x > y; });
std::sort(it, mas.end(), [](const int& x, const int& y) { return x > y; });
std::copy(mas.begin(), mas.end(), std::ostream_iterator(std::cout, " "));
}
- 16.02.2017 04:48
- thumb_up 38
Знаете ответ? Поделитесь им!
Есть сомнения?
Не нашли подходящего ответа на вопрос или ответ отсутствует? Воспользуйтесь поиском по сайту, чтобы найти все ответы на похожие вопросы в разделе Информатика.
Трудности с домашними заданиями? Не стесняйтесь попросить о помощи - смело задавайте вопросы!
Информатика — наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.