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

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

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

 
 Ответить  Открыть новую тему 
> Массив сортировка массива, тестовое соедиенние
Lety
сообщение 18.03.2004 0:19
Сообщение #1


Гость






Господа! помогите решить 2 задачки..


1.Дан массив X(n) найти элемент массива наиболее близкий к наименьшему элементу?

2.Дан массив X(n) получить новый массив выбросив из исходного все элементы с наименьшим значением.
 К началу страницы 
+ Ответить 
trminator
сообщение 20.03.2004 8:00
Сообщение #2


Четыре квадратика
****

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

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


Найболее близкий к найменьшему - такой, который отличается от найменьшего на минимальное число (если нарисовать это на прямой, то тот, который ближе всех к нему)
Код

{Пусть найменьший - это min, minn - его номер в массиве }
min2 := high(integer); {очень большое число -- на минимум явно не тянет}
for i := 1 to n do
   if i <> minn {минимальный не нужен}
      and abs(a[i] - min) < min2 then min2 := a[i]


Во втором после нахождения минимума снова проходим по исходному массиву, заталкивая во второй элементы, которые не равны минимальному


--------------------
Закон добровольного труда Зимерги:
Люди всегда согласны сделать работу, когда необходимость в этом уже отпала
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Незнайка
сообщение 27.03.2004 12:57
Сообщение #3


Гость






Переформировать массив таким образом, чтобы его строки располагались по возрастанию их перервых элементов.
Пример:
2 6 3 1 3 5
4 5 2 -> 2 6 3
1 3 5 4 5 2

Напишите пожалуйста процидуоу сортировки. smile.gif
 К началу страницы 
+ Ответить 
Lik
сообщение 28.03.2004 0:47
Сообщение #4


Новичок
*

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

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


может наименьших элементов ?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Незнайка
сообщение 28.03.2004 10:08
Сообщение #5


Гость






Массив двумерный huh.gif
 К началу страницы 
+ Ответить 
APAL
сообщение 28.03.2004 11:25
Сообщение #6


Смотрю...
*****

Группа: Модераторы
Сообщений: 1 055
Пол: Мужской
Реальное имя: Пшеничный Алексей Анатольевич

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


Может так?
Код

Const
 Vmax = ..;
 Hmax = ..;

Type
 tip = Array [1..Vmax,1..Hmax] of Integer;

Var
 m : tip;

Procedure Sorting;
Var
 i,j,k : Word;
 tt : Array [1..Hmax] of Integer;
Begin
 For i:=1 to Vmax-1 do
   For j:=i+1 to Vmax do
     If m[j,1]>m[i,1] then
     Begin
       For k:=1 to Hmax do tt[k]:=m[j,k];
       For k:=1 to Hmax do m[j,k]:=m[i,k];
       For k:=1 to Hmax do m[i,k]:=tt[k];
     End;
End;

Begin
 {....}
 Sorting;
 {....}
End.


Прогу не проверял - написал прямо в окне.

Сообщение отредактировано: APAL - 28.03.2004 11:33


--------------------
Если что-то не делает того, что вы запланировали ему делать - это еще не означает, что оно бесполезно.
--------------------
Прежде, чем задать вопрос - Правила :: FAQ :: Поиск
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Sir
сообщение 28.03.2004 21:31
Сообщение #7


Пионер
**

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

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


Советую посмотреть в FAQ Vit'а по Delphi
Там описано множество алгоритмов сортировки
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Незнайка
сообщение 29.03.2004 10:24
Сообщение #8


Гость






APAL не действует просто строчку последнию удоляет huh.gif
 К началу страницы 
+ Ответить 
Atos
сообщение 29.03.2004 12:06
Сообщение #9


Прогрессор
****

Группа: Модераторы
Сообщений: 602
Пол: Мужской
Реальное имя: Михаил

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


Странно... Ну, если сортируем по возрастанию, то вместо > должно стоять <. Но удалять что-то процедура никоим образом не может!

Сообщение отредактировано: Atos - 29.03.2004 12:12
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
APAL
сообщение 31.03.2004 10:13
Сообщение #10


Смотрю...
*****

Группа: Модераторы
Сообщений: 1 055
Пол: Мужской
Реальное имя: Пшеничный Алексей Анатольевич

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


Цитата(Atos @ 29.03.04 9:06)
Странно... Ну, если сортируем по возрастанию, то вместо > должно стоять <.

Так все правильно - находим больший элемент и ставим его в начало...

Сообщение отредактировано: APAL - 31.03.2004 10:13


--------------------
Если что-то не делает того, что вы запланировали ему делать - это еще не означает, что оно бесполезно.
--------------------
Прежде, чем задать вопрос - Правила :: FAQ :: Поиск
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Atos
сообщение 31.03.2004 11:54
Сообщение #11


Прогрессор
****

Группа: Модераторы
Сообщений: 602
Пол: Мужской
Реальное имя: Михаил

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


Да нет - по возрастанию это начиная с самых маленьких и заканчивая большими
См. пример массива, данный Незнайкой в самом начале

Сообщение отредактировано: Atos - 31.03.2004 11:57
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
APAL
сообщение 31.03.2004 15:25
Сообщение #12


Смотрю...
*****

Группа: Модераторы
Сообщений: 1 055
Пол: Мужской
Реальное имя: Пшеничный Алексей Анатольевич

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


А, ну точно. Тогда заменить надо.


--------------------
Если что-то не делает того, что вы запланировали ему делать - это еще не означает, что оно бесполезно.
--------------------
Прежде, чем задать вопрос - Правила :: FAQ :: Поиск
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 



- Текстовая версия 18.07.2025 17:18
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"