Döngüler, programlama algoritmalarının temel deyimlerinden bir tanesidir. Bir dizi işlemi bir veya daha fazla kez tekar etmek için döngüler kullanılmaktadır. Bu yazıda C++ dili ile for döngüsü kullanımını açıklayıp, for döngüsüne örnekler vereceğiz. Her hangi bir C++ editörü ile aşaıdaki kodları kopyalayıp çalıştırabilirsiniz. (Ben Dev C++ ile for döngüsü kullanımı ve örneklerini hazırladım)
C++ for döngüsü yazım kuralı:
1 2 3 4 5 6 |
for(başlangıç; şart; adım){ //ifadeler } |
başlangıç : döngünün hangi sayıdan başlayacağını belirtir.
şart: başlangıç değerindeki değişken belirtilen şartı sağladığı sürece döngü tekrar eder. Döngüden çıkış da şart sağlanmadığında gerçekleşir.
adım: başlangıç değerinin göre artım yada azalımı ifade eder.
Örnek: Ekrana 10 kez merhaba dünya yazdıran c++ örneği
1 2 3 4 5 6 7 8 9 10 |
#include <iostream> using namespace std; int main (){ for (int i = 1; i <= 10; i++){ cout << "Merhaba Dunya"; } return 0; } |
Döngüde i=1 ile başlangıç değerini tanımlandı. i<=10 olduğu sürece süslü parantezler arasındaki kodlar çalıştırılacak sonra da i değeri 1 artacaktır (i++). Bu işlem i<=10 şartı bozulana kadar tekrar edecektir.
Örnek: C++ 1-100 arasındaki sayıların toplamını bulan program
1 2 3 4 5 6 7 8 9 10 11 12 |
#include <iostream> using namespace std; int main (){ int toplam = 0; for (int i = 1; i <= 100; i++){ toplam += i; } cout << "Toplam: " << toplam << endl; return 0; } |
Örnek: Kullanıcı tarafından girilen sayının faktöriyelini bulan program
1 2 3 4 5 6 7 8 9 10 11 12 13 |
#include <iostream> using namespace std; int main (){ int sayi, sonuc=1; cin >> sayi; for (int i = 1; i <= sayi; i++){ sonuc *= i; } cout << "Sonuc: " << sonuc << endl; return 0; } |
DİKKAT: Döngü ifadelerinde dikkat edilmesi gereken temel nokta döngünün bir noktada kırılması (break) yada şart kısmının döngünün bir aşamasında gerçeklemek zorunda olduğudur. Eğer şart gerçekleşmezse yada döngü kırılmazsa, döngü sonsuz döngüye girecek ve programın kilitlenmesine sebep olacaktır.
Örnek: Aşağıdaki örnekte i>=1 şartı sürekli sağlandığı için döngü sonsuz döngüye girmiştir.
1 2 3 4 5 6 7 8 9 10 11 12 |
#include <iostream> using namespace std; int main (){ int toplam = 0; for (int i = 1; i >= 1; i++){ toplam += i; } cout << "Toplam: " << toplam << endl; return 0; } |
Örnek: C++ 1-100 arasındaki sayılardan 3’e yada 5’e bölünen sayıların toplamını yazdıran Program
1 2 3 4 5 6 7 8 9 10 11 12 13 |
#include <iostream> using namespace std; int main (){ int toplam = 0; for (int i = 5; i <= 1000; i++){ if(i%2 == 0 || i%5 == 0) toplam += i; } cout << "Toplam" << toplam << endl; return 0; } |
C++ for break Kullanımı
break ifadesi kullanıldığı aşamadan sonra döngü kırılmaktadır. continue ifadesinde döngü yinelenmesine rağmen, break ile her hangi bir şarta bakmadan döngüden çıkılmaktadır.
Örnek: Aşağıdaki örnekte döngü şartı 100den küçük olduğu sürece çalışacak şekilde ayarlanmasına rağmen i değeri 5 olduğunda döngü break ile kırılmaktadır.
1 2 3 4 5 6 7 8 9 10 11 12 |
#include <iostream> using namespace std; int main (){ for (int i = 1; i <= 10; i++){ if(i==5) break; cout << "Merhaba Dunya"; } return 0; } |
C++ for continue Kullanımı
continue ifadesi ile döngü bir sonraki adımdan döngüyü yinelemektedir. Çalıştırıldığı aşamadan sonraki kodlar yürütülmemektedir.
Örnek: Aşağıdaki örnekte i değeri çift olduğunda döngü bir sonraki adıma atlıyor.
1 2 3 4 5 6 7 8 9 10 11 12 |
#include <iostream> using namespace std; int main (){ for (int i = 1; i <= 100; i++){ if(i%2==0) continue; cout << "Sayi: " << i ; } return 0; } |
[…] Bir for deyiminde başlangıç, şart ve adım ifadelerinin olduğunu daha önceki yazılardan biliyorsunuzdur. Eğer şart döngünün belirli bir aşamasında bozulmuyorsa(false durumuna geçmiyorsa) bu döngü sonsuz döngü durumuna geçmiş olur. Aşağıda for döngüsünün yapısını görüyorsunuz. […]
Çıktıların düzgün çıkması için “\n” bunu kullan