int a = 42;
do {
cout << a << endl;
a++;
} while(a < 5);


Bu yukaridaki kodda a++ ne icin yazilmis tam olarak, o olmadan da program calisiyor, etkisini cozemedim ben. ++a da bir degisiklik yaratmiyor

 

Koddaki mantık baştan hatalı. a++ olmadan da yanlış çalışıyor, o olsa da yanlış çalışıyor. Sen fark göremiyorsun o yüzden.

Bu kodu kim yazdı? Sen neresini editledin? Tecrübeyle editlenmiş bir kod değil bu.

harzem

Kod sololearn'un tutorialindan.
i.imgur.com

Bir de ingilizce kitap onerilerine acigim

bollocks44

Verilen örnek, while'daki şartın false olması durumunda kodun bir defa çalışıp biteceğini söylemiş.

Ekrana a'yı bastıktan sonra a'yı bir arttırıyor. Ancak while şartı sağlanmadığı için ve kod tekrar çalışmadığı için arttırılmış halini ekrana basamıyor. Bu yüzden oraya a++ yerine a=a+10 yazsa da, a=1000 yazsa da fark göremezsin. Ancak ilk satırdaki a=42 yerine a=1 yazarsan, fark görmeye başlarsın.

harzem

bu kod parçası bir do-while döngüsü örneği gibi duruyor. do-while dögüsünün nasıl çalıştığını anlatmak için.

farz edelim ki kod parçası şu şekilde;

int a = 1;
while(a < 5) {
cout << a << endl;
a++;
}

bu durumda döngü 4 kere çalışacaktır. fakat kod şöyle olsaydı;

int a = 42;
while(a < 5) {
cout << a << endl;
a++;
}

döngü hiç çalışmayacaktı. çünkü a değeri 5'ten büyük ve döngünün çalışması için kriter tutmuyor.

bazen program yazarken, döngü kriteri tutmasa bile döngü içerisindeki kodun en az 1 kere çalışması gerekebiliyor. gerçek hayattan örnek gelmedi aklıma, iyi bir örnek olsaydı daha iyi anlayabilirdin. neyse, işte bu durumlarda do-while loop kullanmak gerekir.

a değeri 5'ten büyük olsa bile döngü içerisindeki kod en az 1 kere çalışır. senin yazdığın kod parçası da, a 42 olsa bile döngü içerisindeki kodun en az 1 kere çalışacağını gösteriyor.

a değişkenine 42 değerini vermek yerine klavyeden okusaydın ne olurdu? eğer girilen sayı misal 2 olsaydı ekrana sırayla 2, 3, 4 yazdırılacaktı. ancak girilen sayı 4 veya daha büyük olsaydı, sadece girilen sayı ekrana yazdırılacaktı.

novemba
1

mobil görünümden çık