• 12-01-2022, 23:07:55
    #1
    Sayısal değerler tutan bir diziyi parametreleri olarak alan ve bu dizinin orta sırasında ki sayısı ile en küçük sayının ortalamasını geri gönderen c++ fonksiyonu

    Ev ödevim. Yapamadığım tek soru bu. Rica etsem mantığı kavramamda yardımcı olur musunuz ?
  • 13-01-2022, 00:24:10
    #2
    I. Durum
    Sayı adedi tek ise medyan (n+1/2) formülüyle bulunur
    Örn. 1,2,3 dizisi 3 adet sayıdan oluşur. (3+1)/2 sonucunda 2. sıradaki sayı [2] medyandır.

    II. Durum
    Sayı adedi çift ise medyan ((n/2) + (n/2+1)) hesabında çıkan sonuç 2'ye bölünür
    Örn. 1,2,3,4 dizisi 4 adet sayıdan oluşur. (4/2) sonucunda 2 elde edilir.
    Ardından 2. ve 3. sayılar toplanıp 2'ye bölünür ((2+3)/2) ve [2.5] sayısı medyandır

    En Küçük, En Büyük bulma basit kod;
    #include <iostream>
    using namespace std;
    int main()
    {
        setlocale(LC_ALL,"Turkish"); //Türkçe karakter
        int sayilar[]={5,10,15,13,15,22,42};
        int buyuk=sayilar[0];
        int kucuk=sayilar[0];
        int n = sizeof(sayilar) / sizeof(sayilar[0]);
        for(int i = 0; i < n; i++)
        {
            if(sayilar[i]>buyuk);
            {
                buyuk=sayilar[i];
            }
            if(sayilar[i]<kucuk)
            {
                kucuk=sayilar[i];
            }
        }   
        cout<<"En Küçük Sayı :  "<<kucuk<<endl;
        cout<<"En Büyük Sayı :  "<<buyuk;
    }
    Yukarıdaki 1. ve 2. durumları uyguladın mı tamamdır. Hazıra dağ dayanmaz biraz gayret sonucu güzel bir şey yapabilirsin diye umuyorum.

    İyi forumlar.