Zar Atan Program

6 Mart 2011 by B.Selçuk ÖKSÜZ
Leave a reply »
WP Greet Box icon
Merhaba! Selcukoksuz.com adresine hoş geldiniz. Eğer yeni iseniz ve içeriğimizi takip etmek isterseniz RSS Abonesi Olabilirsiniz.
Mailinize onay mesajı gönderilecektir. Cevaplamayı unutmayınız.

uygulamalarına devam ediyoruz. Bu uygulamada kullanıcıdan kaç kere atılacağı sorularak atış sayısı alınıyor. Sonrasında foksiyon ile atılan zarın kaç kere kaç geldiğini hesaplayıp ona göre çıktı veriyor. Çok zor bir program değil. Ama switch yapısında bir kafa karışırsa kopartabiliyorsunuz.

Bu arada sayı üretmek ve bu konuda bir örnek olmuş oluyor. Random sayı üretmek için gerekli c plus deyimlerini anlatmaya çalıştım. Kod satırları arasında geniş açıklamalar mevcut. Ama yine de sıkıntı yaşadığınız yerler olursa sorabilirsiniz.

Program: Zar Atışını Hesaplayan Program

Amaç: Random Sayı üretmek ve bunu döngü içerisinde kullanmak

Dil: C++(C Plus)

Program: DevC++

Kodlar:

//Random atılan zarın kaç kere ne geldiğini hesaplayan c uygulaması
#include <stdio.h>
#include <conio.h>
#include <time.h>//Random için eklendi
#include <stdlib.h>

void mix(int n);
void myMenu(void);

int main()
{
    myMenu();
    int n;
    printf("Kac kere zar atilsin = ");
    scanf("%d",&n);

    mix(n);//Zarı atan ve hesapları yapan fonksiyon

    srand(time(NULL));//ramdom sayı üreteci
    system("pause");
}
void mix(int n)
{
    int myArray[7]={0};//7 boyut verdim çünki son eleman bitiş elamanı. dizi[6] yı kullanabilmek için. Ve tüm değerler sıfırda
    int loop=0,i=0;//değişkenlerimin ilk değerlerini verdim

    while((i<=6)&&(loop<n))
    {//Eğer (i 6 ve 6 dan küçükse) ve (atis sayım kullanıcıdan alınan sayıdan küçükse) döngüye gir
        i=rand()%7;//Zarı atıyoruz.mod7 kullandık ki max. 6 tı elde edebilelim.

        switch(i)//zarın sayısına göre sayaçlarımızı artıracağız
        {
            case 1:myArray[1]++; break;//sayac[1] zarın 1 geldiği sayıyı depoluyor.
            case 2:myArray[2]++; break;//               ""
            case 3:myArray[3]++; break;//               ""
            case 4:myArray[4]++; break;
            case 5:myArray[5]++; break;
            case 6:myArray[6]++; break;

            default: loop--;  break;//mod7 den sıfır değeride dönebilir. bu durumda aşağıda atış değerimiz
            //1 artacaktır. ama zar atılmamış olacaktır. Bu sebeple atış sayısını 1 azalttım.
        }

        loop++;//zarımızı attık. atış sayımızı 1 artırdık
     }
     printf("\n");
     for(i=1;i<=6;i++)//Hangi zardan kaç tane geldi tek tek yazdıracağız
     {//1- den 6 ya kadar
         printf("%d'den %d tane var\n",i,myArray[i]);
     }
     printf("\n%d kez zar atilmistir\n",loop);
}
void myMenu(void)
{
    printf("\t_________________________________________________________\n\n");
	printf("\t                     blog.selcukoksuz.com                \n");
	printf("\t\t\tProgramlam 2 Dersi Uygulamalari        \n");
	printf("\t\tAtilan Zarin Kac Geldigini Hesaplayan Uygulama    \n\n");
    printf("\t_________________________________________________________\n\n");
}

/*Bu kodlama B.Selçuk ÖKSÜZ tarafından hazırlanmıştır.
Kodlar hakkında yada  hakkında düşünce ve görüşlerinizi

http://blog.selcukoksuz.com adresi altında iletebilirsiniz.

Facebook sayfası:
http://facebook.com/TurkiyeninMuhendisleri
*/

C++ Zar Atan Uygulamasını İndir

Yazar Hakkında

Bilgisayarla yaşamayı bir tarz olarak benimsemiş, teknoloji ile tamamen içli dışlı bir; web tasarımcı, yazılımcı, donanımcı, blog yazarı ve bilgisayar mühendisidir.

B.Selçuk ÖKSÜZ
B.Selçuk ÖKSÜZ kullanıcısının tüm yazıları.

Arama Sorguları

  • c zar (2)
  • kafadan sayı atma programı (1)
Advertisement

Bu Yazıyı Beğendiniz Mi?

1

1 comment

  1. deniz aryalı dedi ki:

    mrb bana çok acil 3boyutlu bir diziyi pointerlar yardımıyla toplayacak bir program lazım yardımcı olursanız çok sevinirim

Bir Cevap Yazın

Sizin Yorumunuz Nedir?

%d blogcu bunu beğendi:
Gizlilik Hakları