Arama butonu
Bu konudaki kullanıcılar: 1 misafir
5
Cevap
11639
Tıklama
0
Öne Çıkarma
C/C++ da fonksiyon ve diziler örnekleri
V
15 yıl
Yüzbaşı
Konu Sahibi

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...



L
15 yıl
Er

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


Bu mesaja 1 cevap geldi.
V
15 yıl
Yüzbaşı
Konu Sahibi

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;
}


Bu mesaja 1 cevap geldi.
L
15 yıl
Er

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


Bu mesaja 1 cevap geldi.
V
15 yıl
Yüzbaşı
Konu Sahibi

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


Bu mesaja 1 cevap geldi.
C
15 yıl
Binbaşı

DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.