Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.11.20;
Скачать: CL | DM;

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.44 MB
Время: 0.033 c
6-1123706619
Trojan_nt
2005-08-11 00:43
2005.11.20
Помогите создать статистику DSN Инета


14-1130338041
Starcom
2005-10-26 18:47
2005.11.20
Variant Asynh for D7


5-1110285566
GuAV
2005-03-08 15:39
2005.11.20
procedure TCustomImageList.DefineProperties(Filer: TFiler);


4-1127380492
Xobbit
2005-09-22 13:14
2005.11.20
Импорт из DLL


14-1130512660
Андрей Молчанов
2005-10-28 19:17
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский