IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası

IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası (https://www.ircforumlari.net/)
-   C ve C++ (https://www.ircforumlari.net/c-ve-c/)
-   -   Yarılama Metodu (https://www.ircforumlari.net/c-ve-c/454419-yarilama-metodu.html)

aSi 18 Şubat 2012 23:50

Yarılama Metodu
 
Küçükten büyüğe doğru sıralı N elemanlı sayı dizisinde istenen sayıya “yarılama metodu" ile erişim sağlayan program.

Kod:

#include <stdio.h>
#include <conio.h>

main()
{
    int x,b,s,N,ara,ort;
    printf("\nDizi kac elemanlidir?\t");
    scanf("%d",&N);
    if(N>1)
  {
        int i[N];
        printf("\nAralarinda bosluk birakarak elemanlari giriniz:\n\n");
        for(x=0; x<N; x++)
      {
          scanf("%d",&i[x]);
      }
        printf("Aranacak elemani giriniz:\t");
        scanf("%d",&ara);
        b=1;
        s=N;
s1:
        ort=(b+s)/2;
        if(ara>i[ort])
      {
            if(s==b+1)
          {
                if(ara==i[b])printf("%d. elemandir",b);
                else if(ara==i[s])printf("%d. elemandir",s);
                else printf("Sayi dizide degil!");
            }
            else
          {
                b=ort;
                goto s1;
            }
        }
        else if(ara<i[ort])
      {
            if(s==b+1)
          {
                if(ara==i[b])printf("%d. elemandir",b);
                else if(ara==i[s])printf("%d. elemandir",s);
                else printf("Sayi dizide degil!");
            }
            else
          {
                s=ort;
                goto s1;
            }
        }
        else printf("%d. elemandir",ort+1);
    }
    else printf("Gecersiz Dizi!");
    getch();
    return 0;
}





Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 04:43.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2025 IRCForumlari.Net Sparhawk