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

Переместить в начало все отрицательные элементы списка, сохраняя их порядок

17.06.2017, 20:02. Показов 1852. Ответов 5

Студворк — интернет-сервис помощи студентам
Дан список из n целых чисел a1,a2,.,an. Переместить в начало все отрицательные элементы списка, сохраняя их порядок.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.06.2017, 20:02
Ответы с готовыми решениями:

Переместить все цифры в конец, а остальные символы в начало строки, сохраняя порядок взаимного расположения
Преобразовать строку символов по пaравилу: переместить все цифры в конец, а остальные символы в начало строки, сохраняя порядок взаимного...

Сдвинуть все отрицательные элементы с в начало массива,сохраняя их порядок между собой, а все положительные элементы
Дан целочисленный список с количеством элементов 2n, не содержащий нулей. Сдвинуть все отрицательные элементы с в начало массива,сохраняя...

Переставить в массиве все отрицательные элементы в начало массива, сохраняя относительный порядок
Проштудировал весь форум.Решений много взял по примеру написал код, ошибок нет но ответа нужного нет помогите найти где не разобрался. С...

5
 Аватар для Zwelenewskiy
129 / 127 / 107
Регистрация: 09.01.2017
Сообщений: 1,651
17.06.2017, 20:12
Вот такой вариант. Может, и лучше было бы вставлять искомые элементы вставлять в начало массива,но мне было лень =))
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
var
  a: array of real;
  k: boolean;
 
begin
  
  var n := readinteger('Введите кол-во чисел: ');
  Setlength(a, n);  
  
  k := true;
  for var i := 0 to n - 1 do
  begin
    a[i] := readinteger('Введите ' + (i + 1) + '-й элемент массива: ' );
    if a[i] < 0
      then k := false;
  end;  
  
  if k then writeln('Отрицательных чисел нет')
  else begin
    writeln;
    for var i := 0 to n - 1 do
      if a[i] < 0
        then write(a[i], ' ');
  end;
  
  for var i := 0 to n - 1 do
    if a[i] >= 0
      then write(a[i], ' ');
  
end.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33419 / 21526 / 8239
Регистрация: 22.10.2011
Сообщений: 36,932
Записей в блоге: 12
17.06.2017, 20:15
Список и массив - это разные вещи, если что.
0
 Аватар для Zwelenewskiy
129 / 127 / 107
Регистрация: 09.01.2017
Сообщений: 1,651
17.06.2017, 20:19
volvo, блин, пропустил, что это список. Прошу прощения =)
0
0 / 0 / 0
Регистрация: 28.12.2016
Сообщений: 23
17.06.2017, 20:31  [ТС]
А вы так обрадовали сначала(
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33419 / 21526 / 8239
Регистрация: 22.10.2011
Сообщений: 36,932
Записей в блоге: 12
17.06.2017, 20:40
Лучший ответ Сообщение было отмечено glupec как решение

Решение

В принципе, задача решается вот так:
Pascal
1
2
3
4
5
6
begin
  var L := new List<integer>(Arr(1, 2, -3, -9, -5, 8, -11, 4, 9));
  L.Println;
  L := L.OrderBy(v -> Sign(v)).ToList;
  L.Println;
end.
, поскольку OrderBy - стабильная сортировка, она не будет менять местами элементы с одинаковыми характеристиками, и достаточно упорядочить данные по знаку, тогда все отрицательные окажутся спереди, а все положительные - в конце списка.

Но сейчас опять выяснится, что это нужно сделать в стиле Турбо-Паскаля...
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.06.2017, 20:40
Помогаю со студенческими работами здесь

Последовательно переместить все отрицательные элементы списка в его начало, а положительные - в конец
1314 Дан список из n целых чисел a1, a2,..., an. Последовательно переместить все отрицательные элементы списка в его начало, а все...

Все элементы, не равные нулю, переписать (сохраняя их порядок) в начало, а нулевые элементы – в конец массива
Задан одномерный массив. Все его элементы, не равные нулю, переписать (сохраняя их порядок) в начало массива, а нулевые элементы – в конец...

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

Записать сначала все отрицательные элементы, затем нули и положительные элементы, сохраняя порядок следования во второй массив.
Помогите решить 2 задачи 1) Дан массив чисел, содержащий 20 элементов. Записать сначала все отрицательные элементы, затем нули и...

Сдвинуть все элементы с четными индексами в начало массива, а с нечетными – в конец, сохраняя порядок их следования.
Задан одномерный массив. Сдвинуть все элементы с четными индексами в начало массива, а с нечетными – в конец, сохраняя порядок их...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru