Şimdi Ara

C hatayı çözemedim

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
1 Misafir - 1 Masaüstü
5 sn
3
Cevap
0
Favori
836
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Hata nerde arkadaşlar. Modu 19 tekrarla 1 bulması gerekirken 13 tekrarla 7 olarak buluyo.

    for(i=1; i<9; i++){ 
    if(freq[i]<freq[i+1])
    mod=i+1;
    }


    Bu döngü ile alakalı problem var diye düşünüyorum ama çözemedim işte

    #include <stdio.h> 
    #define SIZE 99

    void mean(const unsigned int answer[]);
    void median(unsigned int answer[]);
    void mode(unsigned int freq[], unsigned const int answer[]);
    void bubbleSort(int a[]);
    void printArray(unsigned const int a[]);

    int main(void){

    unsigned int frequency[10]={0};

    unsigned int response[SIZE]={
    5, 5, 7 ,1 ,6 ,4, 4, 4, 1, 7,
    4, 8, 1, 8, 2, 5, 1, 3, 1, 5,
    4, 9, 8, 1, 6, 5, 7, 1, 4, 3,
    1, 5, 8, 4, 7, 9, 9, 1, 2, 3,
    8, 7, 8, 4, 2, 2, 1, 7, 7, 1,
    8, 9, 1, 5, 4, 7, 6, 1, 3, 5,
    7, 9, 1, 5, 6, 7, 6, 4, 1, 5,
    8, 9, 7, 2, 9, 4, 8, 1, 9, 4,
    8, 9, 8, 8, 8, 9, 9, 1, 4, 7,
    5, 4, 4, 7, 3, 1, 2, 1, 2
    };

    printArray(response);
    mean(response);
    median(response);
    mode(frequency, response);
    printArray(response);

    }

    void mean(const unsigned int answer[]){//gönderilen dizinin ortalamasını bulur ve yazdırır

    int toplam=0;
    int i;

    for(i=0; i<SIZE; i++)
    toplam+=answer[i];

    printf("Dizinin ortalamasi = %.2f\n", (float)toplam/SIZE);

    }

    void median(unsigned int answer[]){//dizinin ara degerini bulur ve yazdırır

    unsigned int med;

    bubbleSort(answer);

    med=answer[SIZE/2];

    printf("Dizinin aradegeri=%u\n", med);
    }

    void mode(unsigned int freq[], unsigned const int answer[]){//En cok verilen puanı bulur ve yazdırır.

    unsigned int mod=1;
    int i;

    for(i=0; i<SIZE; i++){
    switch(answer[i]){
    case 1:
    freq[1]++;break;
    case 2:
    freq[2]++;break;
    case 3:
    freq[3]++;break;
    case 4:
    freq[4]++;break;
    case 5:
    freq[5]++;break;
    case 6:
    freq[6]++;break;
    case 7:
    freq[7]++;break;
    case 8:
    freq[8]++;break;
    case 9:
    freq[9]++;break;
    }
    }

    for(i=1; i<9; i++){
    if(freq[i]<freq[i+1])
    mod=i+1;
    }

    printf("Dizinin modu %u tekrarla %u\n", freq[mod], mod);

    }

    void bubbleSort(int a[]){//diziyi küçükten büyüğe sıralar

    int i;
    int j;
    unsigned int hold;

    for(i=1; i<SIZE; i++){

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

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

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

    }

    }

    }

    }

    void printArray(unsigned const int a[]){//Diziyi yazdırır

    int i;

    for(i=0; i<SIZE; i++){

    if(i%10==0)
    printf("\n");

    printf("%u ", a[i]);
    }

    printf("\n");
    }



    < Bu mesaj bu kişi tarafından değiştirildi maslan92 -- 20 Temmuz 2014; 4:06:08 >







  •  
    if(freq[mod]<freq[i])
    mod=i;




    < Bu mesaj bu kişi tarafından değiştirildi brk0001 -- 20 Temmuz 2014; 12:53:55 >
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.