C++ Örnekleri(While/Do-While/For)
-
Bi arkadaşım için yazdığım kodları burayada yazayım,belki işine yarayan olur diye düşündüm :) 7tane çalışma sorusunun while,do-while ve for döngüleri kullanarak çözümleri mevcut
#include<iostream> #include<locale> using namespace std; int main() { setlocale(LC_ALL,"TURKISH"); //-------------------------SORU 1 //10a kadar olan sayıları ekrana yazdır //WHİLE int i=0; while(i!=11) { cout<<i<<endl; i++; } //DO-WHİLE int i=0; do { cout<<i<<endl; i++; } while(i!=11); //FOR for(int i=0;i<=10;i++) { cout<<i<<endl; } //-------------------------SORU 2 //20ye kadar olan tek ve çift sayıları yazdır //WHİLE int i=0; while(i!=21) { if(i%2==0) cout<<i<<" Çift"<<endl; else cout<<i<<" Tek"<<endl; i++; } //DO-WHİLE int i=0; do { if(i%2==0) cout<<i<<" Çift"<<endl; else cout<<i<<" Tek"<<endl; i++; } while(i!=21); //FOR for(int i=0;i<=20;i++) { if(i%2==0) cout<<i<<" Çift"<<endl; else cout<<i<<" Tek"<<endl; } //-------------------------SORU 3 //1den 10a kadar olan sayıların toplamını hesaplayan program //WHİLE int i=1,tpl=0; while(i!=11) { tpl=tpl+i; i++; } cout<<tpl; //DO-WHİLE int i=1,tpl=0; do { tpl=tpl+i; i++; } while(i!=11); cout<<tpl; //FOR int tpl=0; for(int i=1;i<=10;i++) { tpl=tpl+i; } cout<<tpl; //-------------------------SORU 4 //1den 20ye kadar olan çift ve tek sayıların toplamı //WHİLE int i=0,tek=0,cift=0; while(i!=21) { if(i%2==0) cift+=i; else tek+=i; i++; } cout<<"Tek: "<<tek<<" "<<"Çift: "<<cift<<endl; //DO-WHİLE int i=0,tek=0,cift=0; do { if(i%2==0) cift+=i; else tek+=i; i++; } while(i!=21); cout<<"Tek: "<<tek<<" "<<"Çift: "<<cift<<endl; //FOR int tek=0,cift=0; for(int i=0;i<=20;i++) { if(i%2==0) cift+=i; else tek+=i; } cout<<"Tek: "<<tek<<" "<<"Çift: "<<cift<<endl; //-------------------------SORU 5 //1den 10a kadar olan sayıların çarpımı //WHİLE int i=1,crpm=1; while(i!=11) { crpm*=i; i++; } cout<<crpm<<endl; //DO-WHİLE int i=1,crpm=1; do { crpm*=i; i++; }while(i!=11); cout<<crpm<<endl; //FOR int crpm=1; for(int i=1;i<=10;i++) { crpm*=i; } cout<<crpm<<endl; //-------------------------SORU 6 //Girilen bir sayının faktöriyelini hesaplayan program //WHİLE int a=1,i=1,fkt=1; cout<<"Sayıyı girin: "; cin>>a; i=a; while(i!=0) { fkt*=i; i--; } cout<<a<<"! = "<<fkt<<endl; //DO-WHİLE int a=1,i=1,fkt=1; cout<<"Sayıyı girin: "; cin>>a; i=a; do { fkt*=i; i--; }while(i!=0); cout<<a<<"! = "<<fkt<<endl; //FOR int a=1,i=1,fkt=1; cout<<"Sayıyı girin: "; cin>>a; i=a; for(i=a;i>0;i--) { fkt*=i; } cout<<a<<"! = "<<fkt<<endl; //-------------------------SORU 7 //Girilen bir değere kadar olan sayıların toplamını bulan program //WHİLE int i=0,tpl=0,a=0; cout<<"Sayıyı girin: "; cin>>a; a=a+1; while(i!=a) { tpl=tpl+i; i++; } cout<<tpl<<endl; //DO-WHİLE int i=0,tpl=0,a=0; cout<<"Sayıyı girin: "; cin>>a; a=a+1; do { tpl=tpl+i; i++; } while(i!=a); cout<<tpl<<endl; //FOR int tpl=0,a=0; cout<<"Sayıyı girin: "; cin>>a; for(int i=1;i<=a;i++) { tpl=tpl+i; } cout<<tpl<<endl; }NOT: Aşırı profesyonel çözümler değildir,değişkenlerin maksimum değerleri olduğu için çözümlerde sınırlı olabiliyor. Mesela 6. sorudaki çözüm en fazla 16 faktöriyeli hesaplayabiliyor.
NOT 2: Her kod bloğu ayrı bi programdır,bu şekilde çalıştıramazsınız.Mesela
//FOR int tpl=0,a=0; cout<<"Sayıyı girin: "; cin>>a; for(int i=1;i<=a;i++) { tpl=tpl+i; } cout<<tpl<<endl;bu kodlar tek bi programdır. Hadi kolay gelsin,inşallah işe yararlar :) -
Eline sağlık hocam ama WHİLE lerin WHILE olması gerekmez mi? problem çıkartmasın sonra?
-
SweetyVolty bunu yazdı:
-----------------------------
Eline sağlık hocam ama WHİLE lerin WHILE olması gerekmez mi? problem çıkartmasın sonra?
-----------------------------Comment kısmında problem çıkarmaz, o kısımlar kodu okuyanın kod bloğunu anlaması için programcının bıraktığı notlar.
-
SweetyVolty bunu yazdı:
-----------------------------
Eline sağlık hocam ama WHİLE lerin WHILE olması gerekmez mi? problem çıkartmasın sonra?
-----------------------------o zaman sen hazır bunu sormuşken önceki dökümanlarımda yazmadığım açıklamayıda yazayım;
// ve /* */ işaretleri açıklama satırları için kullanılır. // işaretinin kullanıldığı satır çalıştırılmaz. /* */ ise paragraf halinde bir kod bloğunu kapatmak yada uzun açıklama satırlarını alt alta yazarken her satırda // kullanmamak için kullanılan bi işarettir,tabikide // işaretinde olduğu gibi /* */ işaretleri arasındaki kısım da çalıştırılmaz.
Ayrıca açıklamadığım bir nokta daha;
c ve c++ dilleri case sensitive yani büyük-küçük harf duyarlıdırlar. while döngüsünü WHILE yazarak kuramayız mesela.
+ değişken isimleri döngü isimleri yada bu c/c++ dillerinde kullanılan özel kelimeler olamazlar(bkz: is,not,for vs.)
-
eline sağlık.
Ben dev c++ ta kodları yazıyorum programım çalışıyor. programı ekranda tutması için sonuna cin>>x; koyuyorm mesela, ama sonra enterlayınca kapanmıyor.
yardımcı olabilir misiniz?
-
cell-in bunu yazdı:
-----------------------------eline sağlık.
Ben dev c++ ta kodları yazıyorum programım çalışıyor. programı ekranda tutması için sonuna cin>>x; koyuyorm mesela, ama sonra enterlayınca kapanmıyor.
yardımcı olabilir misiniz?
-----------------------------
return 0; ?
-
hayır system("PAUSE"); return 0; koydum olmuyor bende şaşırdım:/
-
sanırım cin>>x; den dolayı duruyormuş hallettim teşekkürler:)
