Üstadlar Tek boyutlu dizideki elemanları nasıl büyükten küçüğe sıralarım, diyelim ki
sayi:array[1..20] of integer=(5,8,7,4,2,6,9,10,11,25,13,19,222,378,65,62,63,87,98,41);
sirali:array[1..20] of integer;
Sayi Dizisinin Elemanlarını Siralı Dizisine Büyükten Küçüğe veya Küçükten Büyüğe nasıl Sıralayabilirim bunu konu alan bi kaynak biliyorsanız benimle pasylaşırmısınız
Array Olarak Tanımlı İnteger Büyükten Küçüğe sıralama
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Re: Array Olarak Tanımlı İnteger Büyükten Küçüğe sıralama
Merhaba,
Kullandığınız Delphi sürümünü bildirmemişsiniz. Eğer kullandığınız Delphi sürümü 2009 ve sonrası ise aşağıdaki gibi bir yöntem kullanmanız mümkün olabilir.
Yukarıdaki son satır çalıştıktan sonra Sayi içindeki değerler küçükten büyüğe sıralanmış olur.
Kullandığınız Delphi sürümünü bildirmemişsiniz. Eğer kullandığınız Delphi sürümü 2009 ve sonrası ise aşağıdaki gibi bir yöntem kullanmanız mümkün olabilir.
Kod: Tümünü seç
uses
System.Generics.Collections;
procedure TForm1.Button1Click(Sender: TObject);
var
Sayi: TArray<integer>;
i: Integer;
begin
SetLength(Sayi, 20);
Randomize();
for i := Low(Sayi) to High(Sayi) do
Sayi[i] := Random(99);
TArray.Sort<integer>(Sayi);
end;
Re: Array Olarak Tanımlı İnteger Büyükten Küçüğe sıralama
uses
System.SysUtils, System.Generics.Collections, System.Generics.Defaults, Vcl.StdCtrls;
procedure SortDoubles(Memo: TMemo);
var
Numbers: array[0..4] of Double;
i: Integer;
begin
// Örnek değerler atanıyor
Numbers[0] := 3.14;
Numbers[1] := 1.59;
Numbers[2] := 2.65;
Numbers[3] := 4.62;
Numbers[4] := 0.99;
// Büyükten küçüğe sıralama
TArray.Sort<Double>(Numbers, TComparer<Double>.Construct(
function(const Left, Right: Double): Integer
begin
Result := CompareValue(Right, Left); // Büyükten küçüğe sıralama
end
));
Memo.Lines.Add('Büyükten küçüğe sıralama:');
for i := 0 to High(Numbers) do
Memo.Lines.Add(Format('%.2f', [Numbers]));
// Küçükten büyüğe sıralama
TArray.Sort<Double>(Numbers, TComparer<Double>.Construct(
function(const Left, Right: Double): Integer
begin
Result := CompareValue(Left, Right); // Küçükten büyüğe sıralama
end
));
Memo.Lines.Add('Küçükten büyüğe sıralama:');
for i := 0 to High(Numbers) do
Memo.Lines.Add(Format('%.2f', [Numbers]));
end;
// Örnek kullanım:
procedure TForm1.Button1Click(Sender: TObject);
begin
SortDoubles(Memo1); // Memo1, form üzerindeki TMemo bileşeninizdir
end;
System.SysUtils, System.Generics.Collections, System.Generics.Defaults, Vcl.StdCtrls;
procedure SortDoubles(Memo: TMemo);
var
Numbers: array[0..4] of Double;
i: Integer;
begin
// Örnek değerler atanıyor
Numbers[0] := 3.14;
Numbers[1] := 1.59;
Numbers[2] := 2.65;
Numbers[3] := 4.62;
Numbers[4] := 0.99;
// Büyükten küçüğe sıralama
TArray.Sort<Double>(Numbers, TComparer<Double>.Construct(
function(const Left, Right: Double): Integer
begin
Result := CompareValue(Right, Left); // Büyükten küçüğe sıralama
end
));
Memo.Lines.Add('Büyükten küçüğe sıralama:');
for i := 0 to High(Numbers) do
Memo.Lines.Add(Format('%.2f', [Numbers]));
// Küçükten büyüğe sıralama
TArray.Sort<Double>(Numbers, TComparer<Double>.Construct(
function(const Left, Right: Double): Integer
begin
Result := CompareValue(Left, Right); // Küçükten büyüğe sıralama
end
));
Memo.Lines.Add('Küçükten büyüğe sıralama:');
for i := 0 to High(Numbers) do
Memo.Lines.Add(Format('%.2f', [Numbers]));
end;
// Örnek kullanım:
procedure TForm1.Button1Click(Sender: TObject);
begin
SortDoubles(Memo1); // Memo1, form üzerindeki TMemo bileşeninizdir
end;