dizi içindeki en küçük eleman ve yerini bulma

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
forumsad
Üye
Mesajlar: 296
Kayıt: 29 Tem 2010 10:47

dizi içindeki en küçük eleman ve yerini bulma

Mesaj gönderen forumsad »

siraKimde:Array[1..10]of integer;

şeklinde bir dizim var

(6,7,9,8,2,3,4,5,7,8) şeklinde değerler almış olsun

snc:=MinIntValue(siraKimde);

bu kod ile dizi içindeki en küçük sayıyı buluyorum ama bana kaçıncı eleman olduğuda lazım

bu dizinin 5'inci elemanı en küçüktür şeklinde

bu mümkünmü acaba

teşekkürler
destiny24
Üye
Mesajlar: 131
Kayıt: 22 Tem 2010 09:42

Re: dizi içindeki en küçük eleman ve yerini bulma

Mesaj gönderen destiny24 »

bir döngü de bu iki isteğini de karşılayabilirsin.

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);
var
  EnKucukSayi, SayininSirasi, i: Integer;
  siraKimde: Array[1..10] of integer;
begin
  for i := 1 to Length(siraKimde) do // Diziyi Rastgele Elemanlarla Dolduruyoruz
    siraKimde[i] := RandomRange(0, 100);

  EnKucukSayi   := 101; // Listedeki en Büyük Değerden Büyük Bir Değer Veriyorum Ki Kuralıma Uygun Olsun. Dizinin ilk elemanını da alabilirsin.
  SayininSirasi := 0;
  for i := 1 to Length(siraKimde) do
  begin
    if siraKimde[i] < EnKucukSayi then
    begin
      EnKucukSayi := siraKimde[i];
      SayininSirasi := i;
    end;
  end;
  Randomize;
  ShowMessage('En Küçük Sayı: ' + IntToStr(EnKucukSayi) + #13#10 +
              'Sayının Dizideki Sırası: ' + IntToStr(SayininSirasi));

end;
forumsad
Üye
Mesajlar: 296
Kayıt: 29 Tem 2010 10:47

Re: dizi içindeki en küçük eleman ve yerini bulma

Mesaj gönderen forumsad »

çok teşekkürler hocam bir sorunla daha karşılaştım..

eğer dizideki tüm elemanlar eşitse nasıl anlarız?
eşit derken herhangi bir sayı olabilir..

saygılarımla
Kullanıcı avatarı
SimaWB
Üye
Mesajlar: 1316
Kayıt: 07 May 2009 10:42
Konum: İstanbul
İletişim:

Re: dizi içindeki en küçük eleman ve yerini bulma

Mesaj gönderen SimaWB »

Belki bunlar işinize yarayabilir: Math.pas unitinizi projenize eklerseniz;
MinIntValue fonksiyonu dizi içindeki en küçük elemanı,
MaxIntValue fonksiyonu dizi içindeki en büyük elemanı,
SumInt fonksiyonu elemanların toplamını
verir.

Dizideki tüm elemanlar eşitse
SumInt(Dizi) = Dizi[1] * Length(Dizi)
olması gerekir.
There's no place like 127.0.0.1
Cevapla