folder Tahribat.com Forumları
linefolder C - C++
linefolder For Döngüsünün İçinde Toplama Yaptıramıyorum (C)



For Döngüsünün İçinde Toplama Yaptıramıyorum (C)

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    tuncaxxz
    tuncaxxz's avatar
    Kayıt Tarihi: 23/Ağustos/2005
    Erkek

                       for(b++;i>=1;i--)
        {   
            
              a[i]=k;          
              c=pow(2,b);
              u=u+(k*c);  
              }
             
            printf("sayi: %d\a",u);

     

    serinin elemanlarını teker teker yazdırabiliyorum ama şu şekil bir işleme sokamıyorum. "u" sürekli 0 çıkıyor.

    daha önce böyle bişey gelmemişti başıma. yaklaşık iki gündür uğraşıyorum bi el atıverin

     

     


    punto cero
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    MaviGozluDev
    MaviGozluDev's avatar
    Kayıt Tarihi: 05/Eylül/2005
    Erkek

    tuncaxxz bunu yazdı:
    -----------------------------

                       for(b++;i>=1;i--)
        {   
            
              a[1]=k;          
              c=pow(2,b);
              u=u+(k*c);  
              }
             
            printf("sayi: %d\a",u);

     

    -----------------------------

    b++ demişsin b nin başlangıç değeri yok, , 1den büyük eşit olana kadar azalsın demişsin i ninde başlangıç değeri yok.
    b yi i yi dışarda mı tanımladın naptın? 

    a[1]=k demişsin,  k nın değeri ne?
    c=pow(2,b) demişsin b nin değeri belli değil ki pow(2,b) yi yapsın,
    ardındanda u=u+(k*c) demişsin b den dolayı c ye adam gibi değer vermedi ki onu kullanıp u yu versin.

    ne yaptırmaya çalışıyon programa? 

     


    .
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    tuncaxxz
    tuncaxxz's avatar
    Kayıt Tarihi: 23/Ağustos/2005
    Erkek

    ikilik tabandaki sayıyı onluk tabana ceviriyor. mesela 111 şeklinde ikilik tabanda bi sayı girdiniz. program size bunu 7 olarak veriyor

    ilk for döngüsünde basamaklarına ayırıyor sayıyı

    a[1]=1

    a[2]=1

    a[3]=1

    olarak. sonra ikinci for döngüsünde dönüşüm formülünü uyguluyor

    u= (a[3]*2^0)+(a[2]*2^1)+(a[1]*2^2) = 7

    olarak çıkarması lazım ikinci döngüyü ama sonucu 0 çıkarıyor.

    kodların bütünü bu şekilde. mantık hatası nerde anlayamadım.

     

     

    #include
    #include
    #include

    int main()
        {
              const int q=2;
              int k,n,x,y,i,b,a[10000];
              double toplam,u,c;
              printf("ikilik tabandan onluk tabana\ncevirmek istediginiz sayiyi giriniz:");
              scanf("%d",&n);
             
             
              x=n;
              y=n;
              i=0;
              b=0;
                  for(b=i;x>=1;i++)
        {
        a[i+1]=x%10;
        y=y/10;
        x=y;
    }

                               for(b++;i>=1;i--)
        {  
           
              a[i]=k;         
              c=pow(2,b);
              u=u+(k*c); 
              }
            
            printf("sayi: %d\a",u);
             
           
             


               getch();
              return 0;
             
    }
             
                        


    punto cero
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    efecan123
    efecan123's avatar
    Kayıt Tarihi: 20/Ağustos/2010
    Erkek

    tuncaxxz bunu yazdı:
    -----------------------------

    ikilik tabandaki sayıyı onluk tabana ceviriyor. mesela 111 şeklinde ikilik tabanda bi sayı girdiniz. program size bunu 7 olarak veriyor

    ilk for döngüsünde basamaklarına ayırıyor sayıyı

    a[1]=1

    a[2]=1

    a[3]=1

    olarak. sonra ikinci for döngüsünde dönüşüm formülünü uyguluyor

    u= (a[3]*2^0)+(a[2]*2^1)+(a[1]*2^2) = 7

    olarak çıkarması lazım ikinci döngüyü ama sonucu 0 çıkarıyor.

    kodların bütünü bu şekilde. mantık hatası nerde anlayamadım.

     

     

    #include
    #include
    #include

    int main()
        {
              const int q=2;
              int k,n,x,y,i,b,a[10000];
              double toplam,u,c;
              printf("ikilik tabandan onluk tabana\ncevirmek istediginiz sayiyi giriniz:");
              scanf("%d",&n);
             
             
              x=n;
              y=n;
              i=0;
              b=0;
                  for(b=i;x>=1;i++)
        {
        a[i+1]=x%10;
        y=y/10;
        x=y;
    }

                               for(b++;i>=1;i--)
        {  
           
              a[i]=k;         
              c=pow(2,b);
              u=u+(k*c); 
              }
            
            printf("sayi: %d\a",u);
             
           
             


               getch();
              return 0;
             
    }
             
                        


    -----------------------------

    zamanım olmadığından tam bakamadım ama program ilk for da i++ ile i nin değerini 1 in üzerine arttırıyosun ve dolayısıyla alttaki for a girmiyor yani ufak bi mantık hatası var oraya bi çözüm aramaya çalış istersen i yi 0 la mesela ilk for dan sonra


    Benim evim valizimdir. http://efecetir.info
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Sigortacı
    DJ_Alper
    DJ_Alper's avatar
    Bilgi/Destek Madalyası
    Kayıt Tarihi: 03/Ocak/2006
    Erkek

    tuncaxx olum nerelerdesin sen :) özledim a.q


    Sorularınızı cilginsigortaci@gmail.com a yazabilirsiniz cevaplar facebook sayfasında >>> facebook.com/cilginsigortaci █║▌│█│║▌║││█║▌║▌║
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    efecan123
    efecan123's avatar
    Kayıt Tarihi: 20/Ağustos/2010
    Erkek

    DJ_Alper bunu yazdı:
    -----------------------------

    tuncaxx olum nerelerdesin sen :) özledim a.q


    -----------------------------

    uyumuştur artık:) adam 5 te yazmış en son :)))


    Benim evim valizimdir. http://efecetir.info
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Lupin
    Lupin's avatar
    Kayıt Tarihi: 10/Nisan/2006
    Erkek
    DJ_Alper bunu yazdı:
    -----------------------------

    tuncaxx olum nerelerdesin sen :) özledim a.q


    -----------------------------
    aynen amk. Alper seni de özledim lan.sevişek mi?

    Rus ile aldatmayanı etmeli takdir,tek biri ile uslanmayanın hakkı köçektir.
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    tuncaxxz
    tuncaxxz's avatar
    Kayıt Tarihi: 23/Ağustos/2005
    Erkek

    buralardayım ben olm ama pek yazmıyorum. hatta hiç yazmıyorum.

     

    -----------------

    &efecan123&

    panpa ilk for döngüsünde i belli bi sayıya ulaştıya mesela 3 oldu.  çıkan bu i benim dizide bulunan eleman sayısını gösteriyo. i'yi tekrar sıfırlarsam kaç tane elemanla işlem yapacağını programa başka türlü anlatamam.


    punto cero
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    tuncaxxz
    tuncaxxz's avatar
    Kayıt Tarihi: 23/Ağustos/2005
    Erkek

    bi yardım edin ya kafaları yicem. 7 farklı yöntem denedim olmadı hiç biri hala 0 çıkıyo


    punto cero
  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Blitz
    Blitz's avatar
    Kayıt Tarihi: 30/Eylül/2007
    Erkek
    Kaç = len(2tabanindasayi)
    sonuç = 0
    for üs = 0 to (Kaç - 1 )
    sonuç = sonuç + (mid(2tabanindasayi,Kaç-1,Kaç)*(2^üs))
    Kaç = Kaç - 1
    next
    msgbox(sonuç)
    vb de böyle bişey olmalı services.tahribat.com da vb den c# a çeviri vardı ordan çevirip bi fikir sahibi olabilirsin :) telefondan anca bu kadar yardımcı olabiliyorum ;)

    validen
Toplam Hit: 2293 Toplam Mesaj: 10