![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Jaxx |
![]()
Сообщение
#1
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 145 Пол: Мужской Реальное имя: Павел Репутация: ![]() ![]() ![]() |
Дана целочисленная матрица с положительными и отрицательными числами (то есть одномерный массив из 10 элементов). Переставить элементы так, чтобы сначала шли отрицательные, а потом положительные элементы, не нарушая их взаимного расположения в каждой группе (то есть если был массив «1 -2 3 -4 5 -6 7 -8 9 -10», то должен стать массивом следующим «-2 -4 -6 -8 -10 1 3 5 7 9»).
Нужно довольно срочно (в ближайшие 2 дня). Заранее спасибо. -------------------- - Дорогие девушки! У вас сухая кожа? Редкие волосы? Проблемы с фигурой? Приходите к нам! У нас темно и мы пьяные.
|
![]() ![]() |
Dark |
![]()
Сообщение
#2
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 408 Пол: Мужской Репутация: ![]() ![]() ![]() |
Вот лови, здесь 2 раза использован один и тот же алгоритм сортировки, помоему пузырьковая =)
Код uses crt; var mas:array[0..19] of integer; i:byte; {счетчик} t:boolean;{ключ} temp:integer; begin clrscr; randomize; {Генерируем массив} for i:=0 to 19 do mas[i]:=random(100)-50; for i:=0 to 19 do write(mas[i],' '); writeln; {Сортируем по возрастанию ВСЕ элементы} t:=false; while (t=false) do begin t:=true; for i:=0 to 18 do if (mas[i+1]<mas[i]) then begin temp:=mas[i]; mas[i]:=mas[i+1]; mas[i+1]:=temp; t:=false; end; end; for i:=0 to 19 do write(mas[i],' '); writeln; {Сортируем по убыванию ТОЛЬКО ОТРИЦАТЕЛЬНЫЕ элементы} t:=false; while (t=false) do begin t:=true; for i:=0 to 18 do begin if (mas[i+1]>=0) then break; if (mas[i+1]>mas[i]) then begin temp:=mas[i]; mas[i]:=mas[i+1]; mas[i+1]:=temp; t:=false; end; end; end; for i:=0 to 19 do write(mas[i],' '); writeln; readkey; end. Надеюсь поможет =) :p5: Сообщение отредактировано: Dark - 28.04.2004 2:57 -------------------- - Где я?
- Во тьме. - В какой тьме? - Во тьме твоего мозга. |
Jaxx |
![]()
Сообщение
#3
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 145 Пол: Мужской Реальное имя: Павел Репутация: ![]() ![]() ![]() |
Я тоже наделся...Не помогло. Все равно не понимаю. Отсортировать на отрицательные и положительные получается, а вот по порядку их расположить - не очнь выходит.
-------------------- - Дорогие девушки! У вас сухая кожа? Редкие волосы? Проблемы с фигурой? Приходите к нам! У нас темно и мы пьяные.
|
![]() ![]() |
![]() |
Текстовая версия | 23.06.2025 19:39 |