IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Массив
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 42
Пол: Мужской
Реальное имя: Ваня

Репутация: -  0  +


Дан одномерный массив A из 20 элементов. Сформировать одномерный массив B из 20 элементов такой,что в нем сначало идут отрицательные,затем нулевые,а затем положительные элементы массива A. Вывести на экран исходный и сформулированный массивы.


--------------------
Skateboarding is not a crime
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Профи
****

Группа: Пользователи
Сообщений: 559
Пол: Мужской
Реальное имя: Бруно

Репутация: -  10  +


Вообщем получается твоя цель отсортировать массив по возрастанию, поиск подключи.


--------------------
Цитата
Imagination is more important than knowledge.
Albert Einstein
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3





Группа: Пользователи
Сообщений: 6
Пол: Мужской
Реальное имя: Алексей

Репутация: -  0  +


Берешь любую сортировку, например "Пузырек"
Bubble
for i:=1 to (n-1) do
begin
for j:=1 to (n-1) do
begin
if A[j]>A[j+1] then
begin
t:=A[j];
A[j]:=A[j+1];
A[j+1]:=t;
end;
end;
end;

Копируешь массив А целиком в В, а потом сортируешь B - вот и всё!

Сообщение отредактировано: -=Domestos=- -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Профи
****

Группа: Пользователи
Сообщений: 559
Пол: Мужской
Реальное имя: Бруно

Репутация: -  10  +


Вот я писал пузырёк в далёкие годы :
 Uses crt;
Const N = 20;
var ms : array [1..N] of integer;
i : integer;
procedure BUBLE(var w: array of integer) ;
var i, j, d : integer;
begin
for i:=1 to N-1 do
for j:=i+1 to N do
if w[i]> w[j] then
begin d:= w[i];
w[i]:=w[j];
w[j]:=d;
end;
end;
begin
Clrscr;
randomize;
for i:=1 to N do
begin
ms[i]:=random(15)-7;
write (ms[i]:3);
end;
writeln;
Buble (ms);
for i:=1 to N do write (ms[i]:3);
readkey;
end.


Сообщение отредактировано: Tan -


--------------------
Цитата
Imagination is more important than knowledge.
Albert Einstein
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гость






Долго будем постить в тысячный раз одно и то же? Сколько же повторять, не загромождайте вы топики одними и теми же вопросами и ответами, типа твоего, Tan, в частности... С чего бы ты решил, что надо сортировать?

Цитата
Копируешь массив А целиком в В, а потом сортируешь B - вот и всё!
Нет, не все! Не вводи человека в заблуждение... Нельзя здесь использовать сортировку, при этом поменяется порядок следования положительных/отрицательных элементов относительно друг друга!

Сообщение отредактировано: Алена -
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Иллюзия мира
***

Группа: Пользователи
Сообщений: 180
Пол: Женский

Репутация: -  4  +


Beseech уточни, прога должна сортировать, или же сохранять порядок следдования между элементами (отриц, нул, положит)

ps Tan у тебя первый элемент остается преждним в любом случае, а остальные произвольно как то... blum.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Пионер
**

Группа: Пользователи
Сообщений: 69
Пол: Мужской

Репутация: -  3  +


Tan, у тебя ошибка во всяком случае это сортировка точно не пузырек. -=Domestos=- в принципе написал правильную сортировку, единственное, что можно подкорректировать, то что второй цикл стоит начинать не с 1 элемента, а с i так по крайней мере мы сэкономим несколько шагов. Вот окончательный вариант:


procedure sortBubble (Var A: array [1..n] of integer);
Var i, j: byte;
t: integer;
Begin
for i:=1 to (n-1) do
for j:=i to (n-1) do
if A[j]>A[j+1]
then
begin
t:=A[j];
A[j]:=A[j+1];
A[j+1]:=t
end
End;



Сообщение отредактировано: КМА -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Гость






КМА, хорошо... Ты-то с чего решил, что нужно сортировать? Что, телепат?

Да, сколько раз можно постить свои коды? 100? 1000? Сколько нулей еще добавить? Ребята, дружно поднимаем глазки вверх!

Цитата(Правила Раздела)
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
Вот и пользуйтесь отлаженными решениями, вместо того, чтобы постить самопальные!

Методы сортировок
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Пионер
**

Группа: Пользователи
Сообщений: 69
Пол: Мужской

Репутация: -  3  +


Алена, я лишь переправил Tan и -=Domestos=-, т. к. не увидел рациональной сортировки, по поводу задачи у меня другой алгоритм и другие мысли. Я потом увидел твой пост, и не стал задавать уточняющий вопрос. Прости если так сильно тебя зацепил.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 7.10.2024 3:38
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name