C Programlama Ödev (ÇÖZÜLDÜ)

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
☾⭒ königsrasse
Ultra Üye
Katılım
28 Ağu 2018
Mesajlar
1,741
Çözümler
33
Tepki puanı
316
Ödüller
10
7 HİZMET YILI
Ödevime yardım edebilir misiniz?

Burada görüldüğü üzere random bir sayı üreterek o sayı kadar zar atıyorum ve atılan zarlardan hangi sayı kaç kere geldi bir dizi içerisinde tutmaya çalışıyorum.
Fakat yazdığım bu kodda atılan her zar 1 gelmiş gibi sadece dizinin 1 olan kısmını artırıyor.
Bilgisi olan varsa ve yardım ederse sevinirim.

2021-03-13 14_50_45-Window.png



C:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int uretilenSayi = 0;
int zarTutan[6] = {0,0,0,0,0,0};

int zarFonksiyon()
{
    int yeniSayi;
    for(int i =0; i<uretilenSayi; i++)
    {
        srand(time(NULL));
        yeniSayi = 1 + rand() % 6;

        if(yeniSayi = 1)
            zarTutan[0] = zarTutan[0] + 1;
        else if (zarTutan[1] = 2)
            zarTutan[1] = zarTutan[1] + 1;
        else if (zarTutan[2] = 3)
            zarTutan[2] = zarTutan[2] + 1;
        else if (zarTutan[3] = 4)
            zarTutan[3] = zarTutan[3] + 1;
        else if (zarTutan[4])
            zarTutan[4] = zarTutan[4] + 1;
        else if (zarTutan[5] = 4)
            zarTutan[5] = zarTutan[5] + 1;
        else
            zarTutan[6] = zarTutan[6] + 1;
    }

    printf("Atilan zarlarda 1 sayisi %d kere geldi\n ", zarTutan[0]);
    printf("Atilan zarlarda 2 sayisi %d kere geldi\n ", zarTutan[1]);
    printf("Atilan zarlarda 3 sayisi %d kere geldi\n ", zarTutan[2]);
    printf("Atilan zarlarda 4 sayisi %d kere geldi\n ", zarTutan[3]);
    printf("Atilan zarlarda 5 sayisi %d kere geldi\n ", zarTutan[4]);
    printf("Atilan zarlarda 6 sayisi %d kere geldi\n ", zarTutan[5]);

return 0;
}


void main()
{
    srand(time(NULL));
    uretilenSayi = uretilenSayi + 25 + rand() % 76;
    printf("%d kez zar atildi... \n\n", uretilenSayi);

    zarFonksiyon();
}
 
Süper Üye
Katılım
1 Mar 2018
Mesajlar
665
Tepki puanı
43
Ödüller
9
Yaş
35
8 HİZMET YILI
Kardeşim kör değilsem hatan şurda

int zarTutan[6] = {0,0,0,0,0,0};

else if (zarTutan[1] = 2)
zarTutan[1] = zarTutan[1] + 1;

zarTutan[0,6] ya kadar hepsine 0 değeri vermişsin zaten yukarıdaki tanımlamanda 0+1 = 1 yapıyor doğal olarak
 
☾⭒ königsrasse
Ultra Üye
Katılım
28 Ağu 2018
Mesajlar
1,741
Çözümler
33
Tepki puanı
316
Ödüller
10
7 HİZMET YILI
Kardeşim kör değilsem hatan şurda

int zarTutan[6] = {0,0,0,0,0,0};

else if (zarTutan[1] = 2)
zarTutan[1] = zarTutan[1] + 1;

zarTutan[0,6] ya kadar hepsine 0 değeri vermişsin zaten yukarıdaki tanımlamanda 0+1 = 1 yapıyor doğal olarak
0'la başlasın zar değeri her geldiğinde 1 artırsın istedim yani bir nevi sayıyor kaç kez geldiğini nerede yanlış var anlayamadım.
 
Onaylı Üye
Katılım
27 Ara 2018
Mesajlar
52
Tepki puanı
5
7 HİZMET YILI
Kontrol ederken else iflerin içi yanlış değil mi bana mı öyle geldi yoksa yani üretilen sayı ==2 olarak kontrol etmen gerekmiyor mu
 
Yolunda Giden Herşeyi Yol Kenarından İzliyoruz
Seçkin Üye
Katılım
22 Tem 2019
Mesajlar
306
Çözümler
1
Tepki puanı
15
Ödüller
2
Yaş
27
6 HİZMET YILI
Degerlerin Hepsini 1 Yapmayı Dene Çözüm Olabilir.
 
☾⭒ königsrasse
Ultra Üye
Katılım
28 Ağu 2018
Mesajlar
1,741
Çözümler
33
Tepki puanı
316
Ödüller
10
7 HİZMET YILI
Rica ederim dostum eğer yardıma ihtiyacın olursa özelden yaz yardım edebilirim
Sanırım problemin büyük bir kısmını çözdüm kalanını sana özelden ileteyim yardım edebileceğin bir şeyse yardım edersen çok sevinirim.
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst