Şimdi Ara

C/C++/C# Sorularınız Buraya. . .(GÜNCEL) (38. sayfa)

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
1 Misafir - 1 Masaüstü
5 sn
4.172
Cevap
118
Favori
170.054
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
3 oy
Öne Çıkar
Sayfa: önceki 3637383940
Sayfaya Git
Git
sonraki
Giriş
Mesaj
  • 2.kez sorucam ama aşağıda neyin yazdırılabileceği bilinebilir mi? İlk 2 si tamam sadece 3.printf önemli

    int i;
    float b=8.1,c=0.7;

    i=b/c;
    printf("%d\n",i);
    c=c*c;
    printf("%f\n",c);
    i=i+b;
    printf("%f\n",i);
  • quote:

    Orijinalden alıntı: strahd_von_zarovich

    2.kez sorucam ama aşağıda neyin yazdırılabileceği bilinebilir mi? İlk 2 si tamam sadece 3.printf önemli

    int i;
    float b=8.1,c=0.7;

    i=b/c;
    printf("%d\n",i);
    c=c*c;
    printf("%f\n",c);
    i=i+b;
    printf("%f\n",i);

    Yine mi

    11
    0.490000
    0.490000

    Yani 19 değil. Yine yanlış bir printf denemesi.


    printf("%d\n",i); //olursa 19
    printf("%f\n",(float)i); // olursa 19.000000

    printf("%f\n",i); // olursa 0.490000 -> Direk böyle kullanırsan diğerlerini print etmezsen başka bi değer çıkacaktır.
    Koddaki ilk iki printf silinir ise printf("%f\n",i); // 2.168831



    In function 'int main()':
    Line 10: warning: converting to 'int' from 'float'
    Line 14: warning: converting to 'int' from 'float'



    < Bu mesaj bu kişi tarafından değiştirildi garui -- 20 Kasım 2012; 0:05:22 >




  •  
    #include<stdio.h>
    #include<conio.h>
    int main (void)
    {
    int i,j;
    for(i=0,j=0;i+j<=10;i++,j++)
    printf("%d\n",i+j);
    getch();
    return(0);
    }


    beyler burda ++ i ve j nin sonundalar

     
    #include<stdio.h>
    #include<conio.h>
    int main (void)
    {
    int i,j;
    for(i=0,j=0;i+j<=10;++i,++j)
    printf("%d\n",i+j);
    getch();
    return(0);
    }


    Burda da önündeler. Şimdi ++ önce olunca sayıları artırıp öyle işleme girmesi gerekmiyor mu? Ben ikisini de yazdırdım ikisi de aynı şeyi yazıyor



    < Bu mesaj bu kişi tarafından değiştirildi mertov -- 20 Kasım 2012; 0:15:31 >
  • quote:

    Orijinalden alıntı: mertov

    Burda da önündeler. Şimdi ++ önce olunca sayıları artırıp öyle işleme girmesi gerekmiyor mu? Ben ikisini de yazdırdım ikisi de aynı şeyi yazıyor

    For için farketmez. Bu assignment işlemleri sırasında önem taşır. Birde performans farkını unutmamak lazım tabi. ++i daha performanslıdır diyebiliriz doğru kullanırsan.

    #include <stdio.h> 

    int main()
    {

    int i=5,k=0;

    k=++i;
    printf("k : %d, i : %d\n",k,i);

    k=i++;
    printf("k : %d, i : %d\n",k,i);

    k=(++i);
    printf("k : %d, i : %d\n",k,i);

    k=(i++);
    printf("k : %d, i : %d\n",k,i);
    return 0;
    }


     
    k : 6, i : 6
    k : 6, i : 7
    k : 8, i : 8
    k : 8, i : 9



    < Bu mesaj bu kişi tarafından değiştirildi garui -- 20 Kasım 2012; 0:32:09 >




  • quote:

    Orijinalden alıntı: garui

    quote:

    Orijinalden alıntı: strahd_von_zarovich

    2.kez sorucam ama aşağıda neyin yazdırılabileceği bilinebilir mi? İlk 2 si tamam sadece 3.printf önemli

    int i;
    float b=8.1,c=0.7;

    i=b/c;
    printf("%d\n",i);
    c=c*c;
    printf("%f\n",c);
    i=i+b;
    printf("%f\n",i);

    Yine mi

    11
    0.490000
    0.490000

    Yani 19 değil. Yine yanlış bir printf denemesi.


    printf("%d\n",i); //olursa 19
    printf("%f\n",(float)i); // olursa 19.000000

    printf("%f\n",i); // olursa 0.490000 -> Direk böyle kullanırsan diğerlerini print etmezsen başka bi değer çıkacaktır.
    Koddaki ilk iki printf silinir ise printf("%f\n",i); // 2.168831



    In function 'int main()':
    Line 10: warning: converting to 'int' from 'float'
    Line 14: warning: converting to 'int' from 'float'



    Hoca bugün sınavda sordu da , ilk olarak bilinemez yazdım , bilinemezi nasıl gösteriyim diye sorunca orada öyle bir şey yok dedi bu sefer de 19.000000 yazdım , o da olmadı anlaşılan. 0.490000 yazmak hiç aklıma gelmezdi, nedenini de çözebilmiş değilim.




  • quote:

    Orijinalden alıntı: garui

    quote:

    Orijinalden alıntı: mertov

    Burda da önündeler. Şimdi ++ önce olunca sayıları artırıp öyle işleme girmesi gerekmiyor mu? Ben ikisini de yazdırdım ikisi de aynı şeyi yazıyor

    For için farketmez. Bu assignment işlemleri sırasında önem taşır. Birde performans farkını unutmamak lazım tabi. ++i daha performanslıdır diyebiliriz doğru kullanırsan.

    #include <stdio.h> 

    int main()
    {

    int i=5,k=0;

    k=++i;
    printf("k : %d, i : %d\n",k,i);

    k=i++;
    printf("k : %d, i : %d\n",k,i);

    k=(++i);
    printf("k : %d, i : %d\n",k,i);

    k=(i++);
    printf("k : %d, i : %d\n",k,i);
    return 0;
    }


     
    k : 6, i : 6
    k : 6, i : 7
    k : 8, i : 8
    k : 8, i : 9






    Çok açıklayıcı bir örnek teşekkürler




  • quote:

    Orijinalden alıntı: strahd_von_zarovich

    quote:

    Orijinalden alıntı: garui

    quote:

    Orijinalden alıntı: strahd_von_zarovich

    2.kez sorucam ama aşağıda neyin yazdırılabileceği bilinebilir mi? İlk 2 si tamam sadece 3.printf önemli

    int i;
    float b=8.1,c=0.7;

    i=b/c;
    printf("%d\n",i);
    c=c*c;
    printf("%f\n",c);
    i=i+b;
    printf("%f\n",i);

    Yine mi

    11
    0.490000
    0.490000

    Yani 19 değil. Yine yanlış bir printf denemesi.


    printf("%d\n",i); //olursa 19
    printf("%f\n",(float)i); // olursa 19.000000

    printf("%f\n",i); // olursa 0.490000 -> Direk böyle kullanırsan diğerlerini print etmezsen başka bi değer çıkacaktır.
    Koddaki ilk iki printf silinir ise printf("%f\n",i); // 2.168831



    In function 'int main()':
    Line 10: warning: converting to 'int' from 'float'
    Line 14: warning: converting to 'int' from 'float'



    Hoca bugün sınavda sordu da , ilk olarak bilinemez yazdım , bilinemezi nasıl gösteriyim diye sorunca orada öyle bir şey yok dedi bu sefer de 19.000000 yazdım , o da olmadı anlaşılan. 0.490000 yazmak hiç aklıma gelmezdi, nedenini de çözebilmiş değilim.

    Merak etme senin cevabın doğru görünüyor. Yani hocanın istediği cevap 19.000000 olarak görünüyor. Ama o bir kodun içine koyulur compile edilirse daha önceden gösterdeiğimiz gibi abuk subuk şeyler çıkıcak. Hocan bu konudaki hatasının farkında değil. Böyle şeyler çıktığını farketse sormazdı gibime geliyor.


    Şimdi

    int i;
    float b=8.1,c=0.7;

    i=b/c;
    printf("%d\n",i);
    c=c*c;
    printf("%f\n",b); // Burada c yerine b bastırıyoruz.
    i=i+b;
    printf("%f\n",i); //Şimdi sonuç 8.099998 çıktı compile sonrası.

    Bunu ezberlemenizi bekliyor olduğunu düşünmüyorum. Sadece explicit casting kullanması gerektiğini bilmiyor veya bufferda float sonrası integer değeri basarsanız bir önceki floatun buffer değeri ekrana basılır gibi bir kural var benim haberim yok. (Kod çıktısı böyle bir sonuç veriyorda :) )
    Benim düşüncem, o kodun printf("%f\n",(float)i); //şeklinde olması lazım veya printf("%d\n",i);

    Ayrıca, iyi bunu sormamış :) Gerçi ödev gibi sormuştu.

    int i = 2.1f/0.3f;
    printf("%d\n",i); //6
    i = 2.1/0.3;
    printf("%d\n",i); //7
    float a=2.1,b=0.3;
    i=a/b;
    printf("%d\n",i); //6

    Bu farkdan da haberi yok.



    < Bu mesaj bu kişi tarafından değiştirildi garui -- 20 Kasım 2012; 0:52:53 >




  • quote:

    Orijinalden alıntı: garui

    Teşekkürler hocam , bakalım ne diyecek merak ediyorum.
  • quote:

    Orijinalden alıntı: mertov
    Çok açıklayıcı bir örnek teşekkürler

    Rica ederim
  • Ortama biraz heyecan katıp, biraz da biz soralım mı? Belki arkadaşlar da merak edip çözme gayreti içerisine düşerler

    Çözüm verilmediği takdirde, bir gün sonra ben veririm. Daha çok örnek olmuş olur arayanlar için.


    Soru : Kesir sadeleştirme. Kullanıcının gireceği x/y değerini eğer sadeleşebiliyorsa sadeleştirilmiş haliyle ekrana yazan, sadeleşmiyorsa "Girdiğiniz oran en sade halidir." yazan program yazınız.

    Ek: x,y tamsayı olsun.



    < Bu mesaj bu kişi tarafından değiştirildi MrOwl -- 20 Kasım 2012; 22:27:22 >
  • Beyler burda nerde yanlış var?

    #include<stdio.h> 
    #include<conio.h>
    #include<math.h>
    int main (void)
    {
    int x,y;
    printf("x sayisini giriniz: ");
    scanf("%d",&x);
    printf("y sayisini giriniz: ");
    scanf("%d",&y);
    printf("x üzeri y = %d",pow(x.y));
    getch();
    return(0);
    }
  • quote:

    Orijinalden alıntı: mertov

    Beyler burda nerde yanlış var?

    #include<stdio.h> 
    #include<conio.h>
    #include<math.h>
    int main (void)
    {
    int x,y;
    printf("x sayisini giriniz: ");
    scanf("%d",&x);
    printf("y sayisini giriniz: ");
    scanf("%d",&y);
    printf("x üzeri y = %d",pow(x.y));
    getch();
    return(0);
    }


    printf("x üzeri y = %d",pow(x.y));

    x.y değil x,y olacak.
  • quote:

    Orijinalden alıntı: ANIL_00

    Arkadaşlar bana bu soru hakkında yardımcı olabilir misiniz? En azından C# kodları gerekli, yardımınız için teşekkür ederim.


    Yardımcı olabilirim. Siz bir yazmaya başlayın, takıldığınız noktada yardım ederiz.
  • quote:

    Orijinalden alıntı: ANIL_00


    quote:

    Orijinalden alıntı: MrOwl

    quote:

    Orijinalden alıntı: ANIL_00

    Arkadaşlar bana bu soru hakkında yardımcı olabilir misiniz? En azından C# kodları gerekli, yardımınız için teşekkür ederim.


    Yardımcı olabilirim. Siz bir yazmaya başlayın, takıldığınız noktada yardım ederiz.

    Matematik temelim iyi olmadığı için soruyu yapamıyorum, teşekkür ederim cevabınız için.

    Matematik temelinizi geliştirmeniz lazım, esasında matematik temeline dayanan bir soru da değil. Şöyle yardımcı olayım.

    y=x^2-2x demiş 0<=x<2 için

    bunu işleme şöyle dökebiliriz


    if(x>=0 && x<2)
    y=x*x-2*x;


    Matematik sorusunu okumaktan farkı yok.

    Eğer x 0'a eşit büyük veya 2'den küçükse ---> y=x^2-2x

    Bu şekilde diğer kısımları da yapmaya çalışın.



    < Bu mesaj bu kişi tarafından değiştirildi MrOwl -- 21 Kasım 2012; 8:54:03 >




  • Arkadaşlar bir dataGrid'in 0'ıncı stününun sürekli olarak son satırını nasıl bir label a okutabilirim?

    aslında projemde bulunan "silme" ve "düzenleme" seçenekleri accsess Db'imde birincil anahtar olarak kullandığım kayıt numarası sutununu sabit olarak alıyor.

    yapmak istediğim "ekle" seçeneğimden kayıt numarasını kaldırmak. her kayıda ootomatık olarak kendısının numara vermesini istiyorum. girişi biraz daha hızlandıracagı ve kolaylastıracagını düşünüyorum.

    fakat işin içinden çıkmadım.

    1) kayıt yapıldıgı zaman son numrayı okuyup + 1 eklemesı gerekıyor

    2) kullanıcı aradan bir kayıt sildiği zaman bunu program nasıl farkedip silinen numarayı dolduracak?
    örneğin
    1
    2
    3 ile devam eden kayıt numaralarından 2 numara silindi. program silinen 2'inci kayıdın yerine yine bir kayıt oluşturmalı. işte benimde kitlendiğim nokta bu :)

    dileyene projemin bir örneğini verebilirim kendisine örnek olması amacı ile. Projemin mantığı bir kayıt defteri oluşturmak

    ilginize şimdiden teşekkür ederim










  • quote:

    Orijinalden alıntı: MrOwl

    quote:

    Orijinalden alıntı: mertov

    Beyler burda nerde yanlış var?

    #include<stdio.h> 
    #include<conio.h>
    #include<math.h>
    int main (void)
    {
    int x,y;
    printf("x sayisini giriniz: ");
    scanf("%d",&x);
    printf("y sayisini giriniz: ");
    scanf("%d",&y);
    printf("x üzeri y = %d",pow(x.y));
    getch();
    return(0);
    }


    printf("x üzeri y = %d",pow(x.y));

    x.y değil x,y olacak.

    Teşekkürler hoca notlarında hepsine nokta koymuş. denedim şimdi de hep 0 basıyor. Bi de tan(45) 1 pi ile yazmak gerekiyorsa nasıl yazıcaz onu?



    < Bu mesaj bu kişi tarafından değiştirildi mertov -- 21 Kasım 2012; 13:12:26 >




  • quote:

    Orijinalden alıntı: mertov

    quote:

    Orijinalden alıntı: MrOwl

    quote:

    Orijinalden alıntı: mertov

    Beyler burda nerde yanlış var?

    #include<stdio.h> 
    #include<conio.h>
    #include<math.h>
    int main (void)
    {
    int x,y;
    printf("x sayisini giriniz: ");
    scanf("%d",&x);
    printf("y sayisini giriniz: ");
    scanf("%d",&y);
    printf("x üzeri y = %d",pow(x.y));
    getch();
    return(0);
    }


    printf("x üzeri y = %d",pow(x.y));

    x.y değil x,y olacak.

    Teşekkürler hoca notlarında hepsine nokta koymuş. denedim şimdi de hep 0 basıyor. Bi de tan(45) 1 pi ile yazmak gerekiyorsa nasıl yazıcaz onu?


    http://www.cplusplus.com/reference/clibrary/cmath/pow/

    double pow ( double base, double exponent );
    long double pow ( long double base, long double exponent );
    float pow ( float base, float exponent );
    double pow ( double base, int exponent );
    long double pow ( long double base, int exponent );

    Yani fonksiyon int deger donmuyor. Ama iceri int gonderirsen pek sorun cikarmaz.

    printf("x üzeri y = %d",(int) pow(x,y));

    seklinde yazarsan duzgun basacaktir.

    Tan icin ornek asagida.

    http://www.cplusplus.com/reference/clibrary/cmath/tan/


    Ornekte %lf var belki sende cailsmaz %f deneyebilirsin.




  • Veri yapıları sınavına girdim boş kağıt verdim. Beyler beni bu dersten geçirmeniz lazım
  • quote:

    Orijinalden alıntı: garui



    teşekkürler
  • quote:

    Orijinalden alıntı: mertov

    quote:

    Orijinalden alıntı: garui



    teşekkürler

    Rica ederim. Ekleme yapiim pow ile int kullanimi duruma gore degisebiliyor. C compiler izin verirken C++ compiler izin vermiyebiliyor.

    Alttaki kod c ile sorun cikartmazken c++ ile sorun verdi.
     
    #include<stdio.h>
    #include<math.h>
    int main (void)
    {
    int x=5,y=6;

    printf("x üzeri y = %d\n",(int)pow(x,y));
    printf("x üzeri y = %g\n",pow(x,y));
    printf("x üzeri y = %e\n",pow(x,y));
    return(0);
    }


    alttaki kod ikisinden de gecti

     
    #include<stdio.h>
    #include<math.h>
    int main (void)
    {
    float x=5,y=6;

    printf("x üzeri y = %d\n",(int)pow(x,y));
    printf("x üzeri y = %g\n",pow(x,y));
    printf("x üzeri y = %e\n",pow(x,y));
    return(0);
    }




  • 
Sayfa: önceki 3637383940
Sayfaya Git
Git
sonraki
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.