Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2005.11.20;
Скачать: [xml.tar.bz2];

Вниз

массивы в делфи   Найти похожие ветки 

 
KaTH   (2005-10-27 23:12) [0]

понесли девушку на ВМС МИРЭА, теперь сидит мучается... подскажите пожалуйста идейку как решается следуйщее
Дан массив А из Н целых чисел переставить эллементы сассива так, чтобы вначале шла группа эллементов больших того элемента кот., в исходном массиве распологается на первом месте, затем сам этот элемент, потом группа элементов меньших или равных ему. Число сравнений и перемещений для каждого в отдельности не должно превышать Н-1


 
Германн ©   (2005-10-28 01:51) [1]

2 Девушка
Сначала научись меньше пить, потом научись излагать свои мысли. Не хило бы было и научиться "попадать на клавиши"!


 
skiph ©   (2005-10-28 04:23) [2]

С такой постановкой задача не решаема, поскольку на ряд элементов нужно будет 2 сравнения: скажем, больше ли он первого элемента и, если - нет, равен ли он этому элементу.
Могу предложить только такой вариант:

Var a,a_copy:array[1..H] of integer (byte, real,...)
i, b,e:integer;

begin
// получаем данные
b:=1; // будем заполнять одновременно с конца и с начала
e:=H;
for i:=2 to H do
if a[i]>a[1] then // элемент больше, значит в начало
 begin
   a_copy[b]:=a[i];
   inc(b);
 end
else
 if a[i]<a[1] then // сравнение нужно, поскольку в массиве могут быть элементы и равные а[1]
  begin
    a_copy[e]:=a[i];
    dec(e);
  end;
// Все! Осталось только заполнить серединку элементами, равными а[1]
for i:=b to e do
 a_copy[i]:=a[1];
 
В a_copy - результат


 
TUser ©   (2005-10-28 08:37) [3]

Это ж QuickSort недоделанный

var i, j: integer;
    a0: integer;
begin
i:=0; j:=H-1;
a0:=A[0];
repeat
while A[i] < a0 do inc (i);
while A[j] > a0 do dec (j);
if i <= j then begin
Swap (A[i],A[j]);
inc (i); dec (j);
end;
until i < j;
end;



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2005.11.20;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.048 c
1-1130403423
VEZ
2005-10-27 12:57
2005.11.20
Иконки в TreeNode


1-1130499343
Шурик Ш
2005-10-28 15:35
2005.11.20
Вопрос про события TValueListEditor


2-1130585016
Erl
2005-10-29 15:23
2005.11.20
MDI


14-1130281721
Умник
2005-10-26 03:08
2005.11.20
Есть ли на свете...


14-1130740490
pavel_guzhanov
2005-10-31 09:34
2005.11.20
Книга Марко Кэнту





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский