Kendisine parametre olarak gönderilen dizideki elemanların işlem parametresine göre aritmetik, geometrik veya harmonik ortalamasını alarak geri döndüren fonksiyonu tasarlayınız. Fonksiyonu yazdıktan sonra main fonksiyonu içinde çağırarak test ediniz ve sonucu ekranda yazdırarak gözlemleyiniz.

#include <stdio.h>
#include <stdlib.h>

double ortalama(int A[],int secim,int n)
       {
           double ao,go,ho,harmonikToplam=0;
           int i,toplam=0,carpim=1;
           for(i=0;i<n;i++)
           {
               toplam+=A[i];
               carpim*=A[i];
               harmonikToplam+=1.0/A[i];
           }
           ao=(double)toplam/n;
           go=pow(carpim,1/n);
           ho=n/harmonikToplam;
           if(secim==1)
            return ao;
           else if(secim==2)
            return go;
           else if(secim==3)
            return ho;
           else
            return -1;

       }



int main()
{
    int dizi[]={4,5,8,9};
    double sonuc;
    int secim;

    printf("secim giriniz:\n");
    scanf("%d",&secim);
    sonuc=ortalama(dizi,secim,4);
    printf("%.2f",sonuc);

    return 0;
}

Yorumlar

Yorum Gönder