Programlama Ve Algoritmalar Deneme Sınavı Sorusu #746725

Elemanları [2 65 11 23 -3 4 0 9 7] olan bir dizide ardışık arama yöntemiyle önce -3 daha sonra 0 aranmaktadır. Bu işlemler için toplamda kaç karşılaştırma yapmak gerekir?

void ardisik_arama(int dizi[], int boyut, int aranan)

{

    int i;

    for (i = boyut; i > 0; i--)

    {

        if (dizi[i-1] == aranan) {

            printf("%d sayisi, dizinin %d. konumundadir.\n”, aranan, i);

            break;

        }

        if (i == 0)

            printf("%d sayısı dizide bulunamadi.\n", aranan);

    }  

}


5

7

8

12

20


Yanıt Açıklaması:

Algoritma incelendiğinde aramanın dizinin son elemanından ilk elemanına doğru yapıldığı anlaşılır. -3 dizinin sondan 5. elemanı ve 0 dizinin sondan 3. elemanı olduğundan 5+3 = 8 karşılaştırma yapmak gerekir. 

Yorumlar
  • 0 Yorum