C++ While Döngüsü Kullanımı

exmoo

Centipat
Katılım
29 Nisan 2020
Mesajlar
33
Arkadaşlar bu kodu nasıl while dongusu ile yazabilirim yardımcı olur musunuz?

İnt Z = 100, t = 1;
İnt i;
For (i = 1; i <= 10; i = i + 2)
{
Z -= ++t *++ i;
Printf(“%D \n”,Z);
}
 
while(i<=10){

i++;
}

Temel kullanımı bu şekilde, kendi koduna göre uyarlayabilirsin.
 
Attığım site çok güzel bir kaynak basic sorularınıza cevap verecektir. Eğer İngilizce bilmiyorsanız memnuniyetle yardımcı olurum anlamadığınız kısımları.

Arkadaşlar bu kodu nasıl while dongusu ile yazabilirim yardımcı olur musunuz?

İnt Z = 100, t = 1;
İnt i;
For (i = 1; i <= 10; i = i + 2)
{
Z -= ++t *++ i;
Printf(“%D \n”,Z);
}
 
Son düzenleyen: Moderatör:

int main(int argc, char** argv) {



int z = 100, t = 1;
int i;
while(i<=10){
z -= ++t *++ i;
printf("%d \n",z);
i++;


}
Bu kodu yazdım faket yalnış for dongusuyle farklı çalışıyor. Nerede hata yaptım anlayamadım.
while(i<=10){

i++;
}

Temel kullanımı bu şekilde, kendi koduna göre uyarlayabilirsin.
int main(int argc, char** argv) {



int z = 100, t = 1;
int i;
while(i<=10){
z -= ++t *++ i;
printf("%d \n",z);
i++;


}
Sağ ol boyle bir şey yaptım ama yalnış cıkıyor. Nerede hata yapmış olabilirim?
 
Son düzenleyen: Moderatör:
C++'a pek aşina değilim ama bir bakacağım.
 
Son düzenleyen: Moderatör:
bu kodun aynısı while dögüsüyle yazdım fakat olmadı. Ekran çıktısı yalnış çıkıyor.

Kod:
int z = 100, t = 1, int i;

for (i = 1; i <= 10; i = i + 2)

{

z -= ++t *++ i;

printf(“%d \n”,z);

}
------------------------

int main(int argc, char** argv) {

int z = 100, t = 1;
int i;

while (i<=10)
{
z -= ++t *++ i;
printf("%d \n",z);
}

Bu da yazdığım kod.
 
Son düzenleyen: Moderatör:
For dongusunun icinde i yi zaten arttirmissin altta birdaha arttirmissin. 2 tane arttirim var. while ile yazdiginda sadece blok icerisine tek arttirma var.
Edit: while dongusunun icerisine i=i+2 ekler misin?
 
Son düzenleyen: Moderatör:
Kodu direkt paste yapmak yerine code olarak ekleyebilirseniz daha rahat okuyabiliriz.
 
Son düzenleme:
C:
int main() {
    int z = 100, t = 1;
    int i=1;
    while(i <= 10){
        z -= ++t * ++i;
        printf("%d \n", z);
        i = i + 2;
    }
    return 0;
}

"i" değişkenini ilklendirmemişsin, i = i + 2 ifadesini de eklelemişsin.
 
C++ degil ama C# ta while döngüsüyle hazirladigim bir hesap makinesi vardi.
C#:
using System;
using System.Security.Cryptography.X509Certificates;

namespace Hesap_Makinasi
{
    class Program
    {
        static void Main(string[] args)
        {
            bool flag = true;
            string islem= "";
           
            Int64 ilkRakam, ikinciRakam;
            while (flag){

                Console.WriteLine("Lütfen bir secim yapiniz. \n" +
                    "1 - Toplama \n" +
                    "2 - Cikarma \n" +
                    "5 - Cikis \n" +
                    "3 - Carpma \n" +
                    "4 - Bölme \n" +
                    "6 - Faktöriyelini alma \n");

                string tercih = Console.ReadLine();

                switch (tercih)
                {
                    case "1": islem = "+"; break;
                    case "2": islem = "-"; break;
                    case "3": islem = "*"; break;
                    case "4": islem = "/"; break;
                    case "6": islem = "n!"; break;
                    case "5": flag=false; islem = ""; break;
                    default: islem = ""; break;
                }

               
                if (islem != "")
                {
                    ilkRakam = getRakam();
                    ikinciRakam = getRakam();
                    switch (islem)
                    {
                        case "+": Console.WriteLine(ilkRakam + ikinciRakam); break;
                        case "-": Console.WriteLine(ilkRakam - ikinciRakam); break;
                        case "/": Console.WriteLine(ilkRakam / ikinciRakam); break;
                        case "*": Console.WriteLine(ilkRakam * ikinciRakam); break;
                        case "n!":
                            Int64 toplam = 1;
                           
                            {
                                toplam = toplam * ilkRakam;
                                if (ilkRakam < ikinciRakam)
                                {
                                    ilkRakam++;
                                } else
                                {
                                    ilkRakam--;
                                }
                            }
                            Console.WriteLine(toplam);
                                break;
                    }
                }
            }    
        }


        static Int64 getRakam()
        {
            Console.WriteLine("Lütfen bir rakam giriniz");
            return Convert.ToInt64(Console.ReadLine());
        }
    }
}
MAntik hemen hemen ayni zaten.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…