Şimdi Ara

C/C++ da fonksiyon ve diziler örnekleri

Bu Konudaki Kullanıcılar:
1 Misafir - 1 Masaüstü
5 sn
7
Cevap
0
Favori
11.583
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Arkadaşlar yarın programlama sınavım var. Elinizde faydalı olabileceğinizi düşündüğünüz fonksiyonlar ve dizilerle ilgili örnekler varsa paylaşırsanız memnun olurum. Yada site de önerebilirsiniz. Şimdiden teşekkürler...



  • Benimde yarın programlama sınavım var.Ben Dilim Döndüğünce anlatmaya çalışayım kendi yazdıklarımı....satır satırda anlatmaya çalışayım..


    #include <stdio.h>

    int topla(int, int); /////--- Burada aşağıda yazdığımız Fonksiyonu Programa tanıtıyoruz..Derleyici satır satır kodladığı için tanıtmazsak hata verir..
    //////////////////----ve yazrken int topla yazıyor başta Oradaki int Yzılan fonksiyonun bir integer değer ürettiği anlamına gelir.. parantez içindeki (int ,int) ise
    /////////////----(int,int) Bize bu fonksiyonu kullanırken benden 2 tane Integer değer isticek anlamaına geliyor...(Fonksiyonu tanıtırken yazıcam gene)

    int main()
    {
    int toplam,a,b;

    printf("Iki sayi giriniz...: ");
    scanf("%d %d",&a,&b);


    toplam = topla(a,b); /////Burada ise main fonksiyonda tanıttığımız toplam adlı değişkene Fonksiyonda üretilecek sonuç değerini veriyoruz//


    printf("%d ve %d nin toplami %d dir.\n", a,b,toplam);

    return 0;
    }




    int topla( int x, int y )///Burada int x,int y kafanı karıştırmasın yani burdada biz X veY gibi değişken atamak zorunda değiliz yukardada gördüğün gibi
    { ////////biz topla(a,b) yaptık..topla(int x,int y) ile biz dışarıdan integer türünde 2 değişken gireceğiz haberin olsun diyoruz a,b,c,d x,y önemli değil
    int sonuc; //////önemli olan dışardan atanan 2 değişkeninde intger olması...bu 1. nokta
    sonuc = x + y; //////2. nokta ise " int topla "derken buradaki int ise Fonksiyon sonunnda oluşturaln değer bir int değeridir demek oluyor..
    return sonuc;
    }

    -----------------------
    ---Eğer kullanılan Fonkda bir değer üretilecekse Mutlaka return değeri kullanılmaılıdır..bu return i ister yukardaki gibi kullanırsın istersen o fonksiyonu

    int topla( int x, int y )
    {
    return x+y;
    }

    ---şeklinde bana göre çok daha klas şekilde yzabilirsin.Ben return ü şu şekilde düşünyorum göndermek istedğin sonuc veya fonksiyon çıktısı ne olsun anlamında...
    ---Bazı fonksiyonlarda ise işlem yapılmaz yani sen bi değer üretmek istemiorsundur misal if kullanırsın eğer şöyleyse şunu yapsın şöyleseyle şunu göstersin gibi
    amacın değer oluşturmaktan cok oluş bildirmek ise return değeri kullanmıyoruz..onuda void Fonksiyon_ismi () şekliden kullanabilirsin
    hatta bu void fonksiyonunda dışardan bi değer girdirebilirsin void Fonksiyon_ismi (int x) gibi kullanabilirsin bu şekilde demek istiyorsunki ben dışardan int türünde bir değer gireceğim bu değer ile sonuç üretmekten ziyade bir durumdan haber versin gibi..
    ---Misal olarak küçükbir fonk tanıtayım
    void Hagi (int x)
    {
    if(x==3)
    printf("x eşittir 3e");
    else if(x==4)
    printf(x eşittir 4e");
    else
    printf("x eşit değildir hem 3 hem 4e");
    }
    --bunuda bir main fonk içine bir sayı girilmesini istersin scanf("%d",&T); gibi fonksiyonuda Hagi(T); şeklinde yazıp girilen T değerinin fonksiyonda kullandığın
    işlemlere göre bir durum belirtir.Fantazi tamamen sana ait istedğin giib kullanabilirsin..
    --İnş Anlatabilmişimdir bende yeniyim ..Aklına takılan soru olursa yazarsın dilim döndğünce anlatmaya çalışırım..Bunları şuan kafamdan uydurdum
  • teşekkürler yazdıklarınızı sonuna kadar okudum. bu işin mantığını kavratmada güzel bir örnek ama ben biraz daha ileri seviyede örnekler istiyorum. ve ne kadar çok örnek bulabilirsem benim için o kadar iyi olur. çünkü bir örnekten anlamadığımı diğerlerine bakarak anlayabiliyorum. bende şöyle bir örnek paylaşayım.

    1. örnek Barbut oyununun fonksiyon kullanılmadan yazılımı. 2. örnek ise fonksiyonlar yardımı ile yazılımı :
    #include <iostream> 
    #include <stdlib.h>
    #include <time.h>

    using namespace std;

    enum status_e { GAME_CONTINUES,PLAYER_WINS,PLAYER_LOSES }; //1
    typedef enum status_e; //2

    int main(void)
    {
    int die1,die2,sum,point,a;
    status_e game_status = GAME_CONTINUES; //enum'a başlangıc degeri ver,enum değeri GAME_CONTINUES olduğu sürece oyun aşağıdaki while döngüsü devam eder.

    srand(time(NULL));
    die1 = 1+rand() %6; //rastegele 1-6 arası tam sayı üret
    die2 = 1+rand() %6; //rastegele 1-6 arası tam sayı üret
    sum = die1 + die2; //üretilen iki sayıyı topla
    cout <<"Zarlar:" << die1<< "+" << die2 <<"="<<sum<<endl; //toplanan iki sayıyı ekranda göster
    switch (sum)// sum degerini kontrol et
    {
    case 7:
    case 11: game_status=PLAYER_WINS;break ; //eger sum değeri 11 ise game_status değerini PLAYER_WINS olarak ayarla sonraki kısımda while döngüsünde bu degerlere göre işlem yapacağız
    case 2:
    case 3:
    case 12: game_status=PLAYER_LOSES;break;
    default: game_status=GAME_CONTINUES;
    point=sum;
    cout << "Sayi:"<<point<<endl;
    break;
    }
    while (game_status == GAME_CONTINUES) { //döngü başlangıcı
    die1=1+rand() %6;
    die2=1+rand() %6;
    sum=die1+die2;
    cout <<"Zarlar:" << die1<< "+" << die2 <<"="<<sum<<endl;
    if(sum==point) //daha önce atılan zar toplam sayısı,eğer tekrar atılan zarlar öncekine eşit ise oyuncu kazanır
    game_status=PLAYER_WINS;
    else {
    if (sum==7) //eger atılan zar sayı toplamı 7 ise oyuncu kaybeder
    game_status=PLAYER_LOSES;
    }
    }
    if(game_status==PLAYER_WINS)
    cout<<"Oyuncu kazanir."<<endl;
    else
    cout<<"Oyuncu kaybeder."<<endl;
    cin>>a;

    system("pause");

    return EXIT_SUCCESS;
    }


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

    int zarAtma(void); //main fonksiyonundan önce oluşturmak istediğimiz fonksiyonu belirtiriz

    int main()
    {
    int oyunDurumu, toplam, oyuncuPuani;

    srand(time(NULL));
    toplam=zarAtma(); //zarın ilk atılışı---zarAtma fonksiyonunu çağırma*

    switch(toplam){
    case 7: case 11: //ilk atışta kazanma
    oyunDurumu=1;
    break;
    case 2: case 3: case 12: //ilk atışta kaybetme
    oyunDurumu=2;
    break;
    default: //hatırlatma noktası
    oyunDurumu=0;
    oyuncuPuani=toplam;
    printf("Oyuncunun kazanacagi zar: %d\n", oyuncuPuani);
    break;
    }

    while (oyunDurumu==0){ //zar atmaya devam et
    toplam=zarAtma();

    if(toplam==oyuncuPuani) //kazanılacak zarı atma
    oyunDurumu=1;
    else
    if (toplam==7) //7 atma ile kaybetme
    oyunDurumu=2;

    }

    if (oyunDurumu==1)
    printf("Oyuncu Kazanir \n");
    else
    printf("Oyuncu Kaybeder \n");

    return 0;
    }

    int zarAtma(void)
    {
    int zar1, zar2,toplamZar;
    zar1=1+(rand() %6);
    zar2=1+(rand() %6);
    toplamZar=zar1 + zar2;
    printf("%d ve %d zarlarini attiniz. Toplamlari : %d \n", zar1, zar2, toplamZar);
    return toplamZar;
    }
  • http://www1.gantep.edu.tr/~bingul/c/index.php?ders=9
    C de fonksiyonlar ve diziler konusunu görebilirsn orada da örnekler var
    Yararlı olabileceğini düşünüyorum..iyi Akşamlar
  • quote:

    Orijinalden alıntı: LosZereaKus

    http://www1.gantep.edu.tr/~bingul/c/index.php?ders=9
    C de fonksiyonlar ve diziler konusunu görebilirsn orada da örnekler var
    Yararlı olabileceğini düşünüyorum..iyi Akşamlar


    teşekkürler
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.