Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.04.2010, 20:05   #1
Алексей777911
 
Аватар для Алексей777911
 
Регистрация: 02.11.2009
Сообщений: 6
Вопрос Сортировка массива простыми вставками на Delphi

Дано n целых положительных двузначных чисел. Трактуя каждое число как пару цифр из интервала 0–9, отсортировать их (цифры) по возрастанию.

Дано:
54 12 37

Нужно трактовать эти числа как пара цифр, то есть у такой набор цифр получится:
5 4 1 2 3 7

И эти цифры отсортировать, то есть на выходе у будет:
1 2 3 4 5 7

Как это сделать?
Подумайте, прежде чем подумать...(c) Ежи Лец
Алексей777911 вне форума Ответить с цитированием
Старый 20.04.2010, 20:18   #2
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Попробуй создать массив длиной 2N.
И исходный массив перевести в созданный следующим образом
Код:
i := 1
repeat i < 2N do
     NoviiMassiv[i] := StariiMassiv div 10;
     NoviiMassiv[i + 1] := StariiMassiv mod 10;
     i := i + 2;
until (i = (2N + 1));
Ну а потом сортируй любым методом
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 20.04.2010, 20:25   #3
vedro-compota
любитель-далеко не
Участник клуба
 
Аватар для vedro-compota
 
Регистрация: 13.04.2010
Сообщений: 1,156
По умолчанию сортировка простыми включениями

Код:
type 
  TData = array[0..N] of integer; 

procedure SortInsertion(var a: TData); //  Внимание! Массив должен 
                                       //  начинаться с нуля!
var 
  i,j : integer;   
  tmp     : integer;
begin
  for i:=2 to N do begin
    tmp:=a[i];  j:=i-1;
    a[0]:=tmp;  // установка барьера
    while tmp<a[j] do begin
      a[j+1]:=a[j]; // сдвинуть элемент
      j:=j-1
    end;
    a[j+1]:=tmp // поставить элемент на свое место
  end;
end; // SortInsertion
против абортов=за + жизнь;.фкн вгу;_______________________мойблг
vedro-compota вне форума Ответить с цитированием
Старый 21.04.2010, 18:31   #4
Алексей777911
 
Аватар для Алексей777911
 
Регистрация: 02.11.2009
Сообщений: 6
Вопрос Примерно так:

unit Unit3;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids;

type
TForm3 = class(TForm)
StringGrid1: TStringGrid;
Button1: TButton;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form3: TForm3;

implementation

{$R *.dfm}

procedure TForm3.Button1Click(Sender: TObject);
var i, j, max, buf, k: integer;
tmp:integer;
a:array [1..3] of integer;
b:array [1..6] of integer;

begin

if length(StringGrid1.cells[i-1,0])<>0
then a[i]:= StrToInt(StringGrid1.Cells[i-1,0]) else a[i]:=0; label1.caption:='';

for i := 1 to 6 do
b[i]:=a[i] div 10; //находим первую цифру
b[i+1]:=a[i] mod 10; //находим вторую цифру

end;

begin //сортировка
for i:=2 to 6 do begin
tmp:=b[i];
j:=i-1;
b[1]:=tmp; // установка барьера
while tmp<b[j] do begin
b[j+1]:=b[j]; // сдвинуть элемент
j:=j-1;
end;
b[j+1]:=tmp // поставить элемент на свое место
end;


for k:=1 to 6 do

Label1.caption:=label1.caption+' '+IntToStr(b[i]);

Label1.caption:=label1.caption+#13; //вывод отсортированного массива


end.






Где у меня ошибки?))
Подумайте, прежде чем подумать...(c) Ежи Лец
Алексей777911 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сортировка вставками Katyunya Помощь студентам 1 20.04.2010 08:27
Сортировка вставками blind0482 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 02.12.2009 13:15
Сортировка вставками Pti44ka Помощь студентам 3 17.11.2009 16:49
Сортировка вставками двухмерного массива ponchikpk Помощь студентам 6 09.03.2009 13:34
Сортировка вставками глючит... Arkuz Общие вопросы Delphi 1 01.10.2007 21:44