Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
 Аватар для SoBadDay
67 / 42 / 30
Регистрация: 26.03.2019
Сообщений: 269

Сортировка массива

26.03.2019, 10:40. Показов 1878. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Отсортировать одномерный массив размера k, вводимого пользователем, так, чтобы положительные элементы чередовались с отрицательными без использования вспомогательных массивов, функций и процедур.

Написал такой код
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
31
32
33
34
35
36
var
      mas: array[1..100] of integer;
      i, j, K, x: integer;
 
begin
      Writeln(' Введите размер массива ');
      Readln(K);
      for i := 1 to K do
      begin
            mas[i] := Random(-100, 100);
            Write(mas[i]:5);
      end; 
      Writeln;
      i := 1;
      j := 2;
      ///---------------------------------------
      while i <= k do
      begin
            if mas[i] >= 0 then
            begin
            j:=i+1;
                  while j <= k do
                  begin
                        if mas[j] < 0 then begin x := mas[i]; mas[i] := mas[j]; mas[j] := x;   j := j + 2; break; end;
                        j := j + 1;
                  end;
            end;
            i := i + 2;
      end;
      ///---------------------------------------
      Writeln('Преобразованный массив:');
      for i := 1 to K do
      begin
            Write(mas[i]:5);
      end; 
end.
Однако не работает корректно. Помогите найти ошибку,пожалуйста
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.03.2019, 10:40
Ответы с готовыми решениями:

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

Сортировка массива
Доброго времени суток. Вот вариант метода сортировки массива пузырьком. Здесь,по-моему,максимальная сложность N2. Можно как-то упростить...

Сортировка массива
Всем доброе время суток, столкнулся с проблемой сортировки массива от отрицательного до положительного, или иными словами просто...

4
Эксперт Pascal/Delphi
2388 / 1300 / 1492
Регистрация: 29.08.2014
Сообщений: 4,665
26.03.2019, 11:15
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
begin
  var a:array of integer:=(-3,2,0,-6);// var a:=ArrRandomInteger(20,-10,10);
  writeln(a);
  var b:=a[low(a)]>=0;
  for var i:=low(a)+1 to high(a) do begin
      var j:=i;
      while (j<high(a)) and ((a[j]>=0)=b) do j:=j+1;
        swap(a[i],a[j]);
        b:=not b;
    end;
    writeln(a);
end.
0
 Аватар для SoBadDay
67 / 42 / 30
Регистрация: 26.03.2019
Сообщений: 269
26.03.2019, 11:36  [ТС]
Цитата Сообщение от Joy Посмотреть сообщение
begin
var a:array of integer:=(-3,2,0,-6);// var a:=ArrRandomInteger(20,-10,10);
writeln(a);
var b:=a[low(a)]>=0;
for var i:=low(a)+1 to high(a) do begin
var j:=i;
while (j<high(a)) and ((a[j]>=0)=b) do j:=j+1;
swap(a[i],a[j]);
b:=not b;
end;
writeln(a);
end.
Можно ли написать это на языке, уровнем, как мной написанный код? Вы использовали функции, которые не были изучены на данный момент
0
Почетный модератор
 Аватар для Puporev
64316 / 47612 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
26.03.2019, 12:04
Лучший ответ Сообщение было отмечено SoBadDay как решение

Решение

Может так?
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
var mas: array[1..100] of integer;
    k,j: integer;
    b:boolean;
begin
randomize;
writeln(' Введите размер массива ');
readln(k);
for var i := 1 to k do
 begin
  mas[i] := Random(-100, 100);
  write(mas[i]:5);
 end;
writeln;
b:=mas[1]>=0;
for var i:=2 to k do
 begin
  j:=i;
  while (j<k) and ((mas[j]>=0)=b) do
  j:=j+1;
   swap(mas[i],mas[j]);//это процедура обмена, встроена в АВС.net
  b:=not b;
 end;
writeln('Преобразованный массив:');
for var i := 1 to k do
write(mas[i]:5);
end.
1
 Аватар для SoBadDay
67 / 42 / 30
Регистрация: 26.03.2019
Сообщений: 269
26.03.2019, 12:08  [ТС]
Спасибо большое!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.03.2019, 12:08
Помогаю со студенческими работами здесь

Вывод массива и сортировка
Программа uses crt, typing, sorting, merge; var a,b,c,p,d:massive; na,nb,nc,np,nd,i,j:integer; begin clrscr; ...

Сортировка двумерного массива
Массив заполняется произвольно. Количество элементов массива произвольное (не менее 10 для одномерного, не менее 5х5 для двумерного. Метод...

Сортировка массива string
Уже битый час не могу понять в чем проблема, хотя задача очень простая. Суть задачи: Пользователь вводит строку из 2х и более слов через...

Сортировка двумерного массива
Здравствуйте. Нужно отсортировать двумерный массив по минимальному элементу в строке. Я код примерный сделал, но не получается что то. ...

Сортировка массива по ключу
Как отсортировать массив по ключу? const N = 10; type Student = class Name, Surname: string; Assessments:...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru