Picproje Elektronik Sitesi

MİKRODENETLEYİCİLER => Atmel => Konuyu başlatan: serter - 07 Kasım 2017, 13:53:23

Başlık: dizideki en küçük elemanı bulma
Gönderen: serter - 07 Kasım 2017, 13:53:23
İyi Günler arkadaşlar. İnteger tipindeki bir dizinin elemanlarını karşılaştırıp en küçük elemanın indisini bulmak isityorum. Bunun bir yolu var mıdır acaba?
Başlık: Ynt: dizideki en küçük elemanı bulma
Gönderen: Firzen - 07 Kasım 2017, 13:59:37
Bubble Sort Algorithm.
Başlık: Ynt: dizideki en küçük elemanı bulma
Gönderen: vitruvius - 07 Kasım 2017, 14:12:36
Alıntı yapılan: Firzen - 07 Kasım 2017, 13:59:37
Bubble Sort Algorithm.

Bubble sort diziyi modifiye eder. Bu zannediyorum ki baslik sahibinin istedigi bir sey degil. Onun yerine "Linear Search" kullanabilir.
Başlık: Ynt: dizideki en küçük elemanı bulma
Gönderen: E-x8 - 07 Kasım 2017, 16:26:32

int[] dizi = { 78, -186, 7777, -87546, 67676, 2, 3, 7, 9, 22, 31, 63, 1000 };

int bul(int[] x) {
int[] hafiza = {x[0],0};
for (int i = 0; i < x.Length; i++){
if (x[i] < hafiza[0]){
hafiza[0] = x[i];
hafiza[1] = i;
}
}
return hafiza[1];
}


int main() {
bul(dizi);
return 0;
}


İşlem sonunda hafiza[0] değişkeninde, dizinin en küçük elemanı bulunur.
İşlem sonunda hafiza[1] değişkeninde, dizinin en küçük elemanının indisi bulunur.
Başlık: Ynt: dizideki en küçük elemanı bulma
Gönderen: OptimusPrime - 07 Kasım 2017, 19:18:27
sirayla gidecen mecbur.
Başlık: Ynt: dizideki en küçük elemanı bulma
Gönderen: MC_Skywalker - 07 Kasım 2017, 20:39:04
C# ta şöyle yapılıyor. Atmel C için benzer algoritmayı uygulamak kolay olur.

// arana elemanın idis numarasını bulan algoritma pusedo code
public static int dogrusalArama(int[] dizi, int aranan)
{
    for(int i=0; i<dizi.Length;i++)
        if(dizi==aranan)
         return i;
    return -1;
}

static void Main(string[] args)
{
  int[] liste = {5, 1, 3, 7, 6, 2};
  int aranan =3;
  int indis = dogrusalArama(liste, aranan);
  if (indis==-1)
     Console.Write("Eleman Bulunamadı..");
  else
     Console.Write("Eleman İndisi:{0}",indis);
  Console.ReadKey();
}
Başlık: Ynt: dizideki en küçük elemanı bulma
Gönderen: mufitsozen - 07 Kasım 2017, 21:36:25
Hangi microprocessor icin ve handi dil ile?
Başlık: Ynt: dizideki en küçük elemanı bulma
Gönderen: baran123 - 07 Kasım 2017, 22:31:21
http://www.programmingsimplified.com/c/source-code/c-program-find-minimum-element-in-array
Başlık: Ynt: dizideki en küçük elemanı bulma
Gönderen: vitruvius - 07 Kasım 2017, 23:21:01
Alıntı yapılan: E-x8 - 07 Kasım 2017, 16:26:32
int8 için hafiza değişkenin 0. elemanını başlangıç için 255'e eşitle.
int16 için hafiza değişkenin 0. elemanını başlangıç için 65535'e eşitle.
int32 için hafiza değişkenin 0. elemanını başlangıç için 4294967296'e eşitle.

Aslinda buna cok da gerek yok. Uzerinde calistigin dizinin ilk elemanina da esitlesen olur.
Başlık: Ynt: dizideki en küçük elemanı bulma
Gönderen: E-x8 - 07 Kasım 2017, 23:36:16
Alıntı yapılan: vitruvius - 07 Kasım 2017, 23:21:01
Aslinda buna cok da gerek yok. Uzerinde calistigin dizinin ilk elemanina da esitlesen olur.

Daha sağlıklı olacaktır.

Edit : Haklısınız aslında hiçbir önemi yok.