Помощь - Поиск - Пользователи - Календарь
Полная версия: помогите решить задачу.
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Fatality
Искал задачу в FAQ но не нашел.
Если кто знает как решать решите очень надо.
Дан массив натуральных чисел. Упорядочить его элементы методом выбора по убыванию наибольшего простого делителя.
volvo
Метод простого выбора - это "Пузырек", он в FAQ-е описывается... А что надо добавить:


Function GetMaxSimpleDivider(X: Integer): Integer;
Begin
... { Тут находишь наибольший простой делитель числа X }
End;

...
For i := 1 To n Do
For j := n DownTo i+1 Do
{ Не просто сравнивать 2 элемента, а сравнивать результат функции }
If GetMaxSimpleDivider(ar[Pred(j)]) < GetMaxSimpleDivider(ar[j]) Then Begin
T := ar[Pred(j)]; ar[Pred(j)] := ar[j]; ar[j] := T
End

( определение простоты чисел - здесь: Замечательные числа )
Fatality
Я решил задачу методом обмена, а методом выбора не получается. если не сложно переделайте.
Michael_Rybak
А какие у тебя вопросы по приведенному тебе объяснению?
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.