Ana içeriğe atla

C++ While, Do-While ve For Döngüler ile Algoritma Geliştirme


#include<iostream>

using namespace std;

int main() 

{

/* While Döngüsü */

/*

int index = 0;

while (index<=3) 

{

cout << "index : " << index << endl;

index++;

}

cout << "Program sonu \n";

*/

/* while ile mod alma % */

/*

int baslangic, bitis, index;


cout << "Lutfen baslangic degerini giriniz : ";

cin >> baslangic;

cout << "Lutfen bitis degerini giriniz : ";

cin >>bitis;


index = baslangic; //Başlangıc değeri(index)'ni koruma ve işleme alma başlangıç değerini tutar

while (index <= bitis)//Kullanıcdan gelen değer index değeridir. index=baslangıc değerini korumaya alır bu değer üzerinden işlem yapar

{

if (index % 7==0)//Sayı 7 'ye tam bölünüyorsa ekrana yazar

{

cout << " Baslangic degeri :  "<<index<<endl;

}

index++;

}

*/

/* Kodun Çıktısı : 

Lutfen baslangic degerini giriniz : 12

Lutfen bitis degerini giriniz : 23

Baslangic degeri :  14

 Baslangic degeri :  21

*/

/* do while Döngüsü */

/*

int sayi;

do

{

cout << "0 Girildiginde program sonlanir \n";

cout << "Lutfen bir sayi giriniz : ";

cin >> sayi;

cout << "Girilen sayi : " << sayi<<endl;


} while (sayi !=0);

cout << "0 Girildi Program sonlandirildi "<<endl;

*/


/* Program Çıktısı

0 Girildiginde program sonlanir

Lutfen bir sayi giriniz : 5

Girilen sayi : 5

0 Girildiginde program sonlanir

Lutfen bir sayi giriniz : 0

Girilen sayi : 0

0 Girildi Program sonlandirildi


*/

/*

int sifre = 1234;

int kullanici;

do//Burada kodumuz doğru sifreyi kullanıcı girene kadar çalışır.

{

cout << "lutfen sifrenizi giriniz : ";

cin >> kullanici;


} while (kullanici!=sifre);//Şifrenin doğru olması halinde çalışır.

cout << "Hos geldiniz.";

*/


/*Şifre Doğru olması halinde Çıktı:

lutfen sifrenizi giriniz : 1234

Hos geldiniz.

*/


/* For Döngüsü */

/* Belirli bir sayıda ve üst üste yazdırmak için kullanılır.*/

//ör: 1'de 10'a kadar olan sayıları yazdıralım.

//for da mutlaka bir sayac mantığı index kullanılır

//for (sayac tanımı; şartım koşulum ne 10'dan küçük olduğu sürece;sayac ne yapsın 1'den ona kadar artsın)

/*

int sayac = 1;//Birden başlasın ve 10'a kadar devam etin

for (sayac;sayac<=10;sayac++)//Sayacım 10'dan küçük olduğu sürece çalışır

{

cout << " " << sayac;

}

cout << endl;

*/


/*Kodun çıktısı :

1 2 3 4 5 6 7 8 9 10

*/


//1 'de 25 'e kadar 2'ye tam bölünen sayıları yazdırma : (Mod alma)

/*

int sayi = 1;


for (sayi;sayi<=25;sayi++)

{

if (sayi % 2 == 0) // Eğer sayi 2'ye bölümünden kalan 0 ise

{

cout << sayi << " ";

}

}

*/

 

/* Faktöryel Hesaplama */

//Kullanıcıdan gelen sayının faktöryelini hesaplama 4!=4*3*2*1 = 24

int sayi, sonuc;

cout << "Lutfen bir sayi giriniz : ";

cin >> sayi;

sonuc = 1;//Her sayıyı kendisini 1 ile çarparak sonuc değerine atama yapmak için kullanıldı.


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

{

sonuc = sonuc * i;

}

cout <<"sayinin "<< sayi << " faktoryeli : " << sonuc << endl;


/* 4 'ün faktöryel sonucu Çktısı :

Lutfen bir sayi giriniz : 4

sayinin 4 faktoryeli : 24

*/

int sayi;

cout << "Luften bir sayi giriniz : " ;

cin >> sayi;


for (int j = 1;j <= sayi;j++) //Kullanıcıdan gelen sayıyı j 'ye atar ve arttırır

{

for (int i = 1;i <= j;i++)//Kullanıcıdan gelen sayının her değerini çıktıda olduğu gibi aynı değere sahip sayıları yan yana yazdırır.

{

cout << j << " ";

}

cout << endl;

}

cout << endl;


/*Çıktı : 

Luften bir sayi giriniz : 5

1

2 2

3 3 3

4 4 4 4

5 5 5 5 5


cout << j << " "; Ekrana j değerini yazdırıldığı için, her satırda o satırın numarası tekrarlanıyor.

"Dış döngü (j) satırları, iç döngü (i) ise sütunları temsil eder. 

İç döngünün sınırı dış döngüye bağımlı olduğu için (i <= j), her yeni satırda sütun sayısı bir artarak dik üçgen formunu oluşturur."

*/

return 0;

}

Bu blogdaki popüler yayınlar

C++ float double string Aritmatik işlemler

  #include <iostream> using namespace std; //void fonk()  //{ // cout << "Merhaba\n"; //} // //int main()  //{ // cout << "Merhaba C++\n"; // // fonk(); // return 0; //} /* int main()  { //Değişkenler rakam ile başlayamaz //Değişken isimlerinde türkçe karakter olmaz //değişken isimleride boşluk olmaz //Değişken isimlerinde nokta vb karakter olmaz //******************************************** //int ram'da 4 byte yer kaplıyor -2147483648 to 2147483647 //char 1 byte  (ASCII tablosu) //bool 1 byte //float 4 byte //double 8 byte //CPU ramdan byte byte okur //Void herhangi bir return etmiyecekse kendi aldığı değerleri kullanır.Bir değer döndürmez. string isim; isim = "Kaan"; int yas; yas = 22; cout << "Bir zamanlar " << isim << " isminde bir genc varmis." << endl << isim << " " << yas << " yasindaymis." ...

C++ try catch, Call by Value, Call by Referans Kullanımı

  #include <iostream> using namespace std; //int main()  //{ // int bolunen, bolen; // cout << "Lutfen bolunen sayiyi giriniz : "; // cin >> bolunen; // cout << "Lutfen bolen sayiyi giriniz : "; // cin >> bolen; // // int sonuc; // // try{ // if (bolen == 0) // throw 99;//Burada throw için herhangi bir tam sayı girilir.örn: negatif sayılar gibi durumlar için çoğaltılabilir // sonuc = bolunen / bolen; // // cout << "Sonuc : " << sonuc; // } // catch(int hataKodu){ // cout << "Bolen sayi sifir olmamali !!" << endl; // } // // cout << endl; // return 0; //} /* try catch Kullanımı :  * try catch kullanıcının beklenmedik bir girdi vermesi sonucu  * programın çökmesini engllemek amacı ile kullanılır * Ayrıca veri tabanı bağlantılarında bağlantının olmaması ve  * işlem sonrasında veri tabanı bağlantısını kapatma veya programın başlangıcında bağlantıyı a...

Pointer ve & (ampersant) Konusunu Kavrayalım

  #include <iostream> #include <string> using namespace std; /* int main()  {  int x = 7; cout << "x 'in degeri : " << x << endl; cout << "x 'in RAM deki adresi : " << &x << endl;  // & ile ramdeki ilk adres değeri  000000D3ED4FFCF4 ni bulduk  // int 4 byte oldugundan bu adresde dahil 4 byte 'lik yerin tamamını hesaplar // ama bize  4 byte lik adresin ilk değerini verir. return 0;  } */ /* int main() { // Pointer  ve & (ampersant) Konusunu Kavrayalım int x = 7; int *p = &x; // pointer ile x 'in adres değerini bulma cout << "x 'in degeri : " << x << endl; cout << "x 'in & ile RAM deki adresi : " << &x << endl; //pointer ile gösterimi cout <<"pointer p ile adres degeri : "<< p << endl; cout << "*p ile ( *p = &x) x in pointer degeri : " <...