![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Lety |
![]()
Сообщение
#1
|
Гость ![]() |
Господа! помогите решить 2 задачки..
1.Дан массив X(n) найти элемент массива наиболее близкий к наименьшему элементу? 2.Дан массив X(n) получить новый массив выбросив из исходного все элементы с наименьшим значением. |
![]() ![]() |
trminator |
![]()
Сообщение
#2
|
Четыре квадратика ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 579 Пол: Мужской Репутация: ![]() ![]() ![]() |
Найболее близкий к найменьшему - такой, который отличается от найменьшего на минимальное число (если нарисовать это на прямой, то тот, который ближе всех к нему)
Код {Пусть найменьший - это min, minn - его номер в массиве } min2 := high(integer); {очень большое число -- на минимум явно не тянет} for i := 1 to n do if i <> minn {минимальный не нужен} and abs(a[i] - min) < min2 then min2 := a[i] Во втором после нахождения минимума снова проходим по исходному массиву, заталкивая во второй элементы, которые не равны минимальному -------------------- Закон добровольного труда Зимерги:
Люди всегда согласны сделать работу, когда необходимость в этом уже отпала |
Незнайка |
![]()
Сообщение
#3
|
Гость ![]() |
Переформировать массив таким образом, чтобы его строки располагались по возрастанию их перервых элементов.
Пример: 2 6 3 1 3 5 4 5 2 -> 2 6 3 1 3 5 4 5 2 Напишите пожалуйста процидуоу сортировки. ![]() |
Lik |
![]()
Сообщение
#4
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 24 Пол: Женский Репутация: ![]() ![]() ![]() |
может наименьших элементов ?
|
Незнайка |
![]()
Сообщение
#5
|
Гость ![]() |
Массив двумерный
![]() |
APAL |
![]()
Сообщение
#6
|
![]() Смотрю... ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 055 Пол: Мужской Реальное имя: Пшеничный Алексей Анатольевич Репутация: ![]() ![]() ![]() |
Может так?
Код 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 -------------------- |
Sir |
![]()
Сообщение
#7
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 95 Пол: Мужской Репутация: ![]() ![]() ![]() |
Советую посмотреть в FAQ Vit'а по Delphi
Там описано множество алгоритмов сортировки |
Незнайка |
![]()
Сообщение
#8
|
Гость ![]() |
APAL не действует просто строчку последнию удоляет
![]() |
Atos |
![]()
Сообщение
#9
|
![]() Прогрессор ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 602 Пол: Мужской Реальное имя: Михаил Репутация: ![]() ![]() ![]() |
Странно... Ну, если сортируем по возрастанию, то вместо > должно стоять <. Но удалять что-то процедура никоим образом не может!
Сообщение отредактировано: Atos - 29.03.2004 12:12 |
APAL |
![]()
Сообщение
#10
|
![]() Смотрю... ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 055 Пол: Мужской Реальное имя: Пшеничный Алексей Анатольевич Репутация: ![]() ![]() ![]() |
Цитата(Atos @ 29.03.04 9:06) Странно... Ну, если сортируем по возрастанию, то вместо > должно стоять <. Так все правильно - находим больший элемент и ставим его в начало... Сообщение отредактировано: APAL - 31.03.2004 10:13 -------------------- |
Atos |
![]()
Сообщение
#11
|
![]() Прогрессор ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 602 Пол: Мужской Реальное имя: Михаил Репутация: ![]() ![]() ![]() |
Да нет - по возрастанию это начиная с самых маленьких и заканчивая большими
См. пример массива, данный Незнайкой в самом начале Сообщение отредактировано: Atos - 31.03.2004 11:57 |
APAL |
![]()
Сообщение
#12
|
![]() Смотрю... ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 055 Пол: Мужской Реальное имя: Пшеничный Алексей Анатольевич Репутация: ![]() ![]() ![]() |
А, ну точно. Тогда заменить надо.
-------------------- |
![]() ![]() |
![]() |
Текстовая версия | 18.07.2025 17:10 |