Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/18: Рейтинг темы: голосов - 18, средняя оценка - 5.00
2 / 2 / 0
Регистрация: 08.01.2016
Сообщений: 42

Сортировка массива: сначала положительные числа по убыванию, потом отрицательные по возрастанию, потом нули

24.02.2016, 18:30. Показов 3620. Ответов 2

Студворк — интернет-сервис помощи студентам
Заполнить массив рандомными числами от -100 включительно до 100 включительно. Отсортировать так: сначала идут положительные числа по убыванию, потом отрицательные по возрастанию, потом нули, если есть.
Пример:
Было: 20 -90 15 -34 10 0
Стало: 20 15 10 -90 -34 0
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.02.2016, 18:30
Ответы с готовыми решениями:

Получить из массива новый в котором сначала идут положительные числа, затем нули и потом отрицательные
Дан массив Х(N). Получить новый массив Y(N), такой, что в нем сначала идут положительные числа, затем нулевые, и затем отрицательные из X. ...

Записать в таблицу сначала все положительные числа и нули, а потом все отрицательные
Дано линейную таблицу, которая содержит 25 действительных, записать в эту же таблицу сначала все положительные числа и нули, а потом все...

Во второй массив сначала переписать сначала положительные, потом 0, потом отрицательные
Не могу решить задачу, прямо застрял на ней. Помогите, пожалуйста. Нужно: заполнить массив из 10 элементов положительными и...

2
 Аватар для JuriiMW
5095 / 2661 / 2355
Регистрация: 10.12.2014
Сообщений: 10,059
25.02.2016, 08:08
Лучший ответ Сообщение было отмечено Vova25super как решение

Решение

Pascal
1
2
3
4
5
6
7
begin
  var a := ArrRandom(ReadLnInteger('n ='), -100, +100);
  var c := a.Where(i -> i < 0).Sorted;
  var d := a.Where(i -> i = 0);
  WriteLn('Массив a:', NewLine, a, NewLine, 'Отсортированный массив:', NewLine,
    a.Where(i -> i > 0).Sorted.Reverse.Concat(c).Concat(d));
end.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33378 / 21502 / 8236
Регистрация: 22.10.2011
Сообщений: 36,899
Записей в блоге: 11
25.02.2016, 12:56
Я бы сделал вот так:
Pascal
1
2
3
4
5
6
7
8
type MySort = class(IComparer<integer>)
public
  function Compare(a, b : integer) : integer := (a * b < 0 ? b - a : abs(b) - abs(a));
end;
begin
  var a := ArrRandom(ReadLnInteger('n ='), -100, +100);
  WriteLn('Массив a:', NewLine, a, NewLine, 'Отсортированный массив:', NewLine, a.OrderBy(v -> v, new MySort));
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.02.2016, 12:56
Помогаю со студенческими работами здесь

Преобразовать массив так, чтобы сначала были расположены все отрицательные числа и нули, а потом все положительные
Помогите пожалуста! Нада здать лабу, а зделать не могу! Задание на лабораторную работу 1. Составить программу по подходящим...

Переставить элементы массива так, чтобы сначала шли нули, потом отрицательные, а затем положительные элементы
Дан одномерный массив, который содержит не более 60 вещественных чисел, среди которых есть положительные, отрицательные и нули. Переставить...

Отсортировать массив — сначала отрицательные, потом нулевые, потом положительные
решить до завтра с объяснением всех букв) 1)отсортировать массив - сначала отрицательные, потом нулевые, потом положительные. ...

Сортировка списка: положительные по возрастанию, потом нули, потом отрицательные по убыванию
Здраствуйте. Помогите пожайлуста написать программу на swi-prolog которая сортирует список чисел. Положительные по возрастанию, потом чтобы...

Сортировка: сначала положительные числа по возрастанию, а потом - отрицательные тоже по возрастанию
Имеется код программы сортировки чисел. нужно чтобы сначала выводило положительные числа по возрастанию, а потом ОТРИЦАТЕЛЬНЫЕ ТОЖЕ по...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru