Ana içeriğe atla

C++ Dilinde Fonksiyonlar

Fonksiyonlar hayatımızı kolaylaştıran komut topluluklarından biridir. Birden çok işi tek bir fonksiyon altında yaptırarark kodun kolay okunmasını sağlayabiliriz.

Fonksiyonlar tekrarlanan işlemleri yapmaya yarar.
kodun basitleştirilip okunabilirliğini arttırır.
Kodun taşınabilirliğini arttırır.
Fonksiyonun Prototipi(Ön Tanımlaması)

Dönüş Türü  Fonksiyon İsmi  Parametreler

int                  faktoriyel            (int sayi)

{

//Fonksiyon Gövdesi

return sayac;

}

Not: Fonksiyon ismi ile değişken isimleri farklı olmalıdır. Derleyici aynı olursa akrıştırabilir.

Faktoriyel fonksiyonu bitmeden atama yapılamaz.
return fonksiyonu bitirir ve döndürür.
Bazi işlemlerde birden fazla parametre girmek gerekebilir.
Fonksiyon gövdesi üstte tanımlanmalıdır. Tanımlanmazsa C++ derleyicisi hata verir. Ya da aşağıda olduğunu belirtmek gerekir.(Fonksiyon prototipini main fonksiyonu üstünde tanımlamak.)
Özyineleme İşlemi

Fonksiyon içinde fonksiyon çağırma olayıdır.
Fonksiyonları 2 türlü çağırabiliriz;Adres ve Değer.

Adres ile çağırmayı “Pointer” konusunda işleyeceğiz arkadaşlar.
Değer İle Çağırma:

Fonksiyon geri döner.

Değişkenin yanına & komutu olursa değişkenin adresini yazdırır.
Örnek:

#include <iostream>

using namespace std;

void cizgi()

{

for(int i=0;i<25;i++)

{

cout<<*;

}

int main()

{

cizgi();

}
SABİTLERİ PARAMETRE OLARAK ALAN FONKSİYONLAR
#include <iostream>

using namespace std;

int main()

{

void cizgi(int n; char ch)

{

for(int i=0; i<n; i++)

{

cout<<ch;

}

}

}
GERİ DÖNÜŞ DEĞERİ OLAN FONKSİYONLAR
#include <iostream>

using namespace std;

float Topla(float; float);

int main()

{

int s1,s2,T;

cout<<“1. sayiyi giriniz:”;

cin>>s1;

cout<<“2.sayiyi giriniz:”;

cin>>s2;

T=topla(s1,s2);

cout<<T<<endl;

return 0;

}

float topla(float s1; float s2)

{

int t1;

t1=s1+s2;

return s1+s2;

}

}
Örnek:Faktoriyel işlemi yapan fonksiyonu yazınız.
#include <iostream>

using namepace std;

int Faktoriyel(int sayi)

{

int sonuc=1;

for(int i=0; i<=sayi; i++)

{

sonuc*i;

return sonuc;

}

}

int main()

{

int sayi;

cout<<“Sayi giriniz:”;

cin>>sayi;

faktoriyel(sayi);

}
DİZİ ELEMANLARINI FONKSİYONLARA PARAMETRE OLARAK GÖNDERME
#include <iostream>

using namespace std;

int Topla(int a[3][3], intb[3][3],intc[3][3]);

void Göster(inta[3][3]);

int main()

{

int a1[3][3]={{1,5,7},{6,8,11},{5,4,9}};

int b1[3][3]={{6,9,11},{11,17,21,},{3,1,5}};

int c1[3[3];

Topla(a1,b1,c1);

Göster(c1);

return 0;

}

int Topla(int a[3][3], intb[3][3],intc[3][3])

{

for(int i=0; i<3;i++)

for(int j=0;j<3;j++)

{

c[i][j]=a[i][j]+b[i][j];

}

}

void Göster(inta[3][3])

{

for(int i=0; i<3;i++)

for(int j=0;j<3;j++)

{

cout<<a[i][j];

cout<<endl;

}

}
FONKSİYONLARA AŞIRI YÜKLENME
#include <iostream>

using namespace std;

void cizgi();

void cizgi(char);

void cizgi(char, int);

int main()

{

int n=25;

char ch=’*';

cizgi();

cizgi(ch);

cizgi(ch,n);

return 0;

}

void cizgi()

{

for(int i=0; i<25; i++)

{

cout<<“*”;

cout<<endl;

}

}

void cizgi(char ch)

{

for(int i=0; i<25; i++)

{

cout<<“ch”;

cout<<endl;

}

void cizgi(char ch, int n)

{

for(int i=0; i<n; i++)

{

cout<<“ch”;

cout<<endl;

}

Yorumlar

Bu blogdaki popüler yayınlar

Algoritma Kavramı, Sözde Kod ve Akış Diyagramı

Bu yazımda çoğumuzun amelelik gibi gördüğü fakat belki de en önemli konu hakkında kısaca bilgi vermek istiyorum. Bundan sonra küçük örneklerle kod yazmayı arttıracağız. Programlama dillerinden bahsetmiştik geçenlerde. Yüksek seviyeli veya düşük seviyeli diller olsun hepsinin arasında kullanım farkları haricinde çok bir farkılılık yoktur. Hayatımızda kullandığımız koca koca programları, programlama dilleri değil onları hazırlayan algoritma kaynağı oluşturur. Kısaca algoritma kavramını tanımlarsak; Algoritma, belli bir problemi çözmek veya belli bir amaca ulaşmak için çizilen yoldur. Algoritma proglamlamada kullanılan en güzel tekniktir. Neyi nasıl yapacağımızı planlamamızı sağlar. Algoritmayı oluşturanda sözde kod ve akış diyagramlarıdır. ALGORİTMA ÖRNEĞİ(resim1) Sözde Kod:Yapacağımız algoritmayı kısa olarak sözle tanımlama yöntemidir. Örneğin; İki sayının toplamını veren algoritmanın sözde kodunu yazınız. 1)BAŞLA 2)YAZ(“1.sayiyi giriniz:”) 3)OKU(S1) 4)YAZ(“2.sayiyi g...

Örnek Algoritmalar ve Örnek C++ Kodları

Örneklerimize bu başlığımız altında devam ediyoruz arkadaşlar. :) Yıl başına kadar C++ hakkında bildiğim tüm konuları ve yaptığım projeleri sizlerle paylaşacağım. Sorularınızı yorumlarda bekliyorum. Şimdiden kolay gelsin :) Algoritma 5: Yarıçapı klavyeden girilen kürenin yüzey alanını ve hacmini açıklayan algoritmanın C++ kodunu yazınız.(π=3) #include <iostream> using namespace std; int main() { float r,alan,hacim; cout<<“Yaricapi giriniz:”; cin>>r; alan=4*3*r*r; hacim=(4*3*r*r*r)/3; cout<<“Alan:”<<alan<<endl; cout<<“Hacim”<<hacim<<endl; } Algoritma 6: Katsayıları klavyeden girilen birinci dereceden denklemin kökünü bulan algoritmanın C++ kodunu yazınız. #include <iostream> using namespace std; int main() { int a,b,c,x; cout<<“Katsayilari giriniz:”; cin>>a>>b>>c; x=(c-b)/a; cout<<“Kok:”<<x; } Algoritma 7:Klavyeden yarıçapı ve dilim açısı girilen daire diliminin...

Hayatımıza Birbirinden Farklı Çözümler Sunan Problemler: Algoritmalar

Merhaba arkadaşlar, Başlıktandan anlayacağınız gibi, hayatımıza birbirinden farklı çözümler sunan problemler topluluğu olarak algoritmayı tanımlayabilirim. Bu yazı serimizde algoritmaları tek tek tanıyıp çalışma mantıklarını inceleyen analiz eden, birden farklı çözümleri karşılaştırarak gerekirse kendimizde çözümler üretebileceğimiz bir seri yaratacağız. Algoritmalar bilmece bulmaca gibidir. Üzerinde düşündüğünde ufkunuzu açar. Bu seriyi hazırlama sebebimde ufkunuzu biraz olsun açmak oldu. Bu seriye başlamadan önce bir algoritmayı tanımlarken kullanacağımız terimleri tanıtmak istiyorum. Ayrıca algoritmaların pseudo kodlarıyla Java kodlarını da paylaşacağım. Belki Swift ile olan kodlarını da paylaşabilirim. ;) Ayrıca bu kodların toplu halde github hesabımdan erişim sağlayabilirsiniz. Şimdi algoritma dünyasını daha derinden tanıyalım. Algoritma nedir? Bir problemi çözmek için işlenen komutlar kümesine, algoritma nedir. Çözülebilir Problem nedir? Bir problem için algoritma oluşt...