Genel Bilgi|  Program Kontrol|  Fonksiyonlar|  Arrayler |  Pointerlar |  Link List |  String| Structurelar |  Input/Output| Yeni Baslayanlar |  Email|

TurkceC yi Ara
  
Array Tanimlama
Program Ornekleri
Fonksiyonlara Gonderme
Array Siralama
Durum Calismasi
Array Arama
Multi Array

DURUM CALISMASI
Array Kullanarak Ortalama, Coklu Degerlerin
Ortalamasini ve Mode Hesaplama

Simdi daha buyuk bir ornek uzerinde duracagiz.Bilgisayarlar yaygin olarak anket ve anket dusuncelerinin sonuclarini analize etmek ve derlemek icin kullanilirlar.Assagida yazacagimiz programada ki yanit adinda ki degisken aketlere cevap olarak 99 buyuklugunde bir array olarak baslatildi.Her bir yanit 1'den 9'a kadar olan numaralardir.Program genel ortalama ve her bir degiskenin ortalamasini almaktadir. Genel ortalama 99 degerin matematiksel ortalamasidir. Fonksiyon GenelOrtalama 99 elemetin toplamini alip sonucu 99 a bolerek genel ortalamayi alacaktir.
Orta fonksiyonu da "orta degerdir".Fonksiyon Orta bubble sortu cagirarak orta degeri belirtecektir.
Programda yer alan ArrayiYaz fonksiyonu da yanit arrayin ciktisini alacaktir.hadi yavas yavas programi yazalim. Unutmadan mode fonksiyonu da programin histogrami grafiksel olarak belirtmesinde yardimci olacaktir.

/*Program Anket Sonuclarinin Ortalamasini Almak icin yazilmistir*/

#include

#define SIZE 99

void GenelOrtalam(int []);

void Orta(int []);

void mode(int [], int []);

void bubleSort(int []);

void ArrayiYaz(int []);

 

main()

{

  int SIKLIK[10] = {0},

       Yanit[SIZE] = {6, 7, 8, 9, 8, 7, 8, 9, 8, 9,

                               7, 8, 9, 5, 9, 8, 7, 8, 7, 8,

                               6, 7, 8, 9, 3, 9, 8, 7, 8, 7,

                               7, 8, 9, 8, 9, 8, 9, 7, 8, 9,

                               6, 7, 8, 7, 8, 7, 9, 8, 9, 2,

                               7, 8, 9, 8, 9, 8, 9, 7, 5, 3,

                               5, 6, 7, 2, 5, 3, 9, 4, 6, 4,

                               7, 8, 9, 6, 8, 7, 8, 9, 7, 8,

                               7, 4, 4, 2, 5, 3, 8, 7, 5, 6,

                               4, 5, 6, 1, 6, 5, 7, 8, 7};

     GenelOrtalama(Yanit);

     Orta(Yanit);

     mode(SIKLIK, Yanit);

     return(0);

}

 void GenelOrtalama(int cevap[])

{

   int j, toplam = 0;

 printf("%s\n%s\n%s\n", "********** ",  " GenelOrtlama", "**************");

 for(j =0;  j<=SIZE - 1; j++)

    toplam + = cevap[j];

    printf("GenelOrtlama data maddelerinin ortalamasidir\n"

          "Genel Ortalama data maddlerinin toplaminin\n"

           " data maddlerinin(%d) sayisi bolumune esittir.\n"

           "Bu anket icin verilen oylarin genel ortalamasi: %d %d = %.4f\n\n",

           SIZE, toplam, SIZE, (float) toplam / SIZE);

}// GenelOrtalama Sonu

void Orta(int cevap[])

{

  printf("\n%s\n%s\n%s\n%s, "**********", " Orta", "**************" ,

                                             "Siralanmamis Array Yanitlar:");

  ArrayiYaz(cevap);

  bubleSort(cevap);

  printf("Siralanmis Array ");

  ArrayiYaz(cevap);

  printf("\n\n Orta %d nin elementi \n"

           "siralanmis %d array element.\n"

           "Bu anket icin ortalama %d\n\n" ,

            SIZE, / 2, SIZE, cevap[SIZE /2] );

}//Orta fonksiyonun sonu

void mode(int SIK[], int cevap[])

{

    int oylama, j, h, enGenis = 0; modeDeger = 0;

    printf("\n%s\n%s\n%s,

             "********** ",  " Mode",  "**********");

    for(oylama = 1; oylama < = 9; oylama++)

        SIK[oylama] = 0;

    for(j = 0; j <= SIZE - 1; j++)

      ++SIK[cevap[j]] ;

    printf("%s%11s%19s\n\n%54s\n%54s\n\n" ,  "YANIT", "SIKLIK", "HISTOGRAM",

                                                                          "1    1    2     2", "5   0   5   0    5");

    for(oylama = 1; oylama <=9; oylama++)

     {

            printf("%8d%11d                  ", oylama, SIK[oylama]);

            if(SIK[oylama] > enGenis)

           {

                 enGenis  = SIK[oylama];

                 modeDeger  = oylama;

            }

            for(h = 1; h <= SIK[oylama]; h++)

               printf("*");

            printf("\n");

     }

     printf("Mode  en sik kullunilan degerdir.\n"

             "Bu anket icin mode %d kez "%d olusmustur.",

             modeDeger, enGenis);

}

void bubleSort(int a[])

{

    int gec, j, dur;

   for(gec = 1; gec < = SIZE -1; gec++)

      for(j = 0; j <= SIZE - 2; j++)

         if(a[j] > a[j + 1])

         {

            dur = a[j];

           a[j] = a[j + 1];

           a[j + 1] = dur;

        }

}

void ArrayiYaz(int a[])

{

   int j;

  for(j = 0; j <= SIZE -1; j++)

  {

     if(j % 20 = = 0)

       printf("\n");

     printf("%2d", a[j]);

  }

}

Anket
Sitemizi Nasil Buldunuz?
  Cok Faydali
  Eksikleri var
  idare eder
  Ilerde Cok daha iyi olacak
  Berbat
  Cok kotu

isupper, islower, toupper, tolower kullanimi eklendi.25 Ocak Saat 08:15 am


String deger degistirme fonksiyonlari eklendi.25 Ocak Saat 09:00 am



atof, atoi, atol kullanimi eklendi.25 Ocak Saat 09:15 am