Şimdi Ara

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

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
1 Misafir - 1 Masaüstü
5 sn
4.172
Cevap
118
Favori
170.022
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
3 oy
Öne Çıkar
Sayfa: önceki 3334353637
Sayfaya Git
Git
sonraki
Giriş
Mesaj
  • quote:

    Orijinalden alıntı: Roxy.

    quote:

    Orijinalden alıntı: strahd_von_zarovich

    Biraz garip olacak ama long int ile int niye aynı kapasitede sayı tutuyor . Ve unsigned int e mesela -2 verdiğimde değeri neden +4,294,967,294 oluyor ?

    adından da anlaşılacağı gibi unsigned, yani işaretsiz, sadece işaretsiz değerler girilebilir. yine de işaretli değer girilebilir, eğer işaretli bir değer girilirse derleyici bu değeri alır ve belirli bir kurala göre başka bir değer aktarır. derleyiciden derleyiciye farklılık gösterebilir.

    İnt in değeri derleyiciden derleyiciye farklılık gösterebiliyor ama , - nin işlenmesi aynı anladığım kadarıyla. int kaç bitlikse bende mesela 32 bit -3 gibi bir değer verildiğinde 2^32-3 değerini alıyor ama nedenini çözemedim.




  • C++ kodlarını C'ye çevirebilecek bir eklenti gibi birşey var mıdır acaba?

    #include <iostream> 

    using namespace std;

    int main() {
    long double a=1,b=1,d=0,n,e,m=1;
    long double c=0;
    cout<<"n giriniz: "<<endl;

    cin>>n;

    while(m<=n){
    a=1;
    b=1;

    for(int i=1; i<=m; i++)
    a=a*i;

    for(int j=1; j<=2*m+1; j++)
    b=b*j;

    c=a/b;
    cout<<"a: "<<a<<"\nb: "<<b<<endl;
    d=d+c;
    cout<<d<<endl;
    m++;
    }
    cout<<d;
    }


    Bunu C kodu olarak çalıştıramıyorum. Printf ve scanf leri düzeltip attığımda forlarda hata alıyorum.



    < Bu mesaj bu kişi tarafından değiştirildi Full#Throttle -- 11 Kasım 2012; 18:52:01 >
  • iyi akşamlar key.preview ne işe yarar???
  • quote:

    Orijinalden alıntı: strahd_von_zarovich

    quote:

    Orijinalden alıntı: Roxy.

    quote:

    Orijinalden alıntı: strahd_von_zarovich

    Biraz garip olacak ama long int ile int niye aynı kapasitede sayı tutuyor . Ve unsigned int e mesela -2 verdiğimde değeri neden +4,294,967,294 oluyor ?

    adından da anlaşılacağı gibi unsigned, yani işaretsiz, sadece işaretsiz değerler girilebilir. yine de işaretli değer girilebilir, eğer işaretli bir değer girilirse derleyici bu değeri alır ve belirli bir kurala göre başka bir değer aktarır. derleyiciden derleyiciye farklılık gösterebilir.

    İnt in değeri derleyiciden derleyiciye farklılık gösterebiliyor ama , - nin işlenmesi aynı anladığım kadarıyla. int kaç bitlikse bende mesela 32 bit -3 gibi bir değer verildiğinde 2^32-3 değerini alıyor ama nedenini çözemedim.


    unsigned int niye int in yaklaşık 2 katı pozitif değer alır diye düşünmekle başla. Data Type Ranges

    int 32 bit tanımlanır. Negatif ve Pozitiflik MSB(Most Significant Bit) -yani 32. bit diyebiliriz - bitinde tutulur.

    8 bitlik bi sayı ile anlatıyım. Memoryde aşağıdaki gibi tutulduklarını düşün.
    00000011 = signed 3 = unsigned 3
    11111101 = signed -3 = unsigned 253

    Şimdi sen -3 diyince unsigned int değişkene 11111101 değerini atıyorsun. unsigned int için bu değer 253 demek. Eğerki biz 11111101 memory bloğuna bu aslında int deseydik bilgisayar bu sayıyı int olarak ele alıcak. Bakıcak MSB 1 yani bu sayı negatif. Üstinde 2's complement uyguluycak (1's complement +1) bu sayının negatif değerini bulmak için. Sonuç 00000010 + 1 = 00000011 = 3 ama negatif yani -3.
    Daha fazla açıklama için 2's complement wiki sayfası --> Two's Complement

    Neden böyle bir yöntem ile sayıların memory üzerinde tutulduğunu soruyorsan Wiki sayfasında da belirtilmiş. Çoğu matematik işlem üzerlerinde direk uygulanabiliniyor.

    Örnek :

    -3 + 5 = 11111101 + 00000101 = 100000010 (9.bit 8bit memory üstünde işlem yaptığımızdan Carry Bit olarak algılanacak.) Elimizde 8 bit olarak memoryde 00000010 var. Sonuç : 2.
    -3 + 2 = 11111101 + 00000010 = 11111111 (Sonuç 8 bit. Carry Bit taşması yok.) Sonuç : MSB'e bakıyoruz 1 yani sonuç negatif. 11111111 -> (2's complement) -> 00000000 + 1 = 00000001. Yani -1.



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




  • Celcius, Fahrenheit ve kelvin derecelerini birbirlerine çeviren program yazmaya çalışıyorum şunu yazdım ama çalışmadı yardımcı olabilecek olan var mı?

    #include<stdio.h> 
    #include<conio.h>
    int main (void)
    {
    char code;
    float value,cel,fah,kel;
    scanf("%c%f",&code,&value);
    {
    switch (code)
    case 'C':
    case 'c':
    value=cel;
    fah=cel*1.8+32;
    kel=cel+273;
    printf(" F %f \n K %f ",fah,kel);
    break;
    switch (code)
    case 'K':
    case 'k':
    value=kel;
    cel=kel-273;
    fah=cel*1.8+32;
    printf(" C %f \n F %f",cel,fah);
    break;
    switch (code)
    case 'F':
    case 'f':
    value=fah;
    cel=(fah-32)*10/18;
    kel=cel-273;
    printf(" C %f \n K %f",cel,kel);
    break;
    }
    getch();
    return(0);
    }




  • quote:

    Orijinalden alıntı: mertov

    Celcius, Fahrenheit ve kelvin derecelerini birbirlerine çeviren program yazmaya çalışıyorum şunu yazdım ama çalışmadı yardımcı olabilecek olan var mı?

    #include<stdio.h> 
    #include<conio.h>
    int main (void)
    {
    char code;
    float value,cel,fah,kel;
    scanf("%c%f",&code,&value);
    {
    switch (code)
    case 'C':
    case 'c':
    value=cel;
    fah=cel*1.8+32;
    kel=cel+273;
    printf(" F %f \n K %f ",fah,kel);
    break;
    switch (code)
    case 'K':
    case 'k':
    value=kel;
    cel=kel-273;
    fah=cel*1.8+32;
    printf(" C %f \n F %f",cel,fah);
    break;
    switch (code)
    case 'F':
    case 'f':
    value=fah;
    cel=(fah-32)*10/18;
    kel=cel-273;
    printf(" C %f \n K %f",cel,kel);
    break;
    }
    getch();
    return(0);
    }


    codepad.org
    C code- 41 lines - codepad
    http://codepad.org/4zZALvUe


    Sadece C kısmını ve switchleri düzelttim. Scanf de biraz garip gibi. Yanayana istiyorsun.




  • quote:

    Orijinalden alıntı: garui

    quote:

    Orijinalden alıntı: mertov

    Celcius, Fahrenheit ve kelvin derecelerini birbirlerine çeviren program yazmaya çalışıyorum şunu yazdım ama çalışmadı yardımcı olabilecek olan var mı?

    #include<stdio.h> 
    #include<conio.h>
    int main (void)
    {
    char code;
    float value,cel,fah,kel;
    scanf("%c%f",&code,&value);
    {
    switch (code)
    case 'C':
    case 'c':
    value=cel;
    fah=cel*1.8+32;
    kel=cel+273;
    printf(" F %f \n K %f ",fah,kel);
    break;
    switch (code)
    case 'K':
    case 'k':
    value=kel;
    cel=kel-273;
    fah=cel*1.8+32;
    printf(" C %f \n F %f",cel,fah);
    break;
    switch (code)
    case 'F':
    case 'f':
    value=fah;
    cel=(fah-32)*10/18;
    kel=cel-273;
    printf(" C %f \n K %f",cel,kel);
    break;
    }
    getch();
    return(0);
    }


    http://codepad.org/4zZALvUe

    Sadece C kısmını ve switchleri düzelttim. Scanf de biraz garip gibi. Yanayana istiyorsun.

    Cevap için teşekkürler yalnız dev c++ sizin yazdığınız program da hata veriyor 40. satırda bi de 8. satırda yazdığınız value=32.0f; ne işe yarıyor onu anlamadım açıkçası


    scanf'te girdileri hep yan yana istiyo bizim hocalar ondan öyle yazıyorum



    < Bu mesaj bu kişi tarafından değiştirildi mertov -- 11 Kasım 2012; 19:46:49 >




  • quote:

    Orijinalden alıntı: mertov

    quote:

    Orijinalden alıntı: garui

    quote:

    Orijinalden alıntı: mertov

    Celcius, Fahrenheit ve kelvin derecelerini birbirlerine çeviren program yazmaya çalışıyorum şunu yazdım ama çalışmadı yardımcı olabilecek olan var mı?

    #include<stdio.h> 
    #include<conio.h>
    int main (void)
    {
    char code;
    float value,cel,fah,kel;
    scanf("%c%f",&code,&value);
    {
    switch (code)
    case 'C':
    case 'c':
    value=cel;
    fah=cel*1.8+32;
    kel=cel+273;
    printf(" F %f \n K %f ",fah,kel);
    break;
    switch (code)
    case 'K':
    case 'k':
    value=kel;
    cel=kel-273;
    fah=cel*1.8+32;
    printf(" C %f \n F %f",cel,fah);
    break;
    switch (code)
    case 'F':
    case 'f':
    value=fah;
    cel=(fah-32)*10/18;
    kel=cel-273;
    printf(" C %f \n K %f",cel,kel);
    break;
    }
    getch();
    return(0);
    }


    http://codepad.org/4zZALvUe

    Sadece C kısmını ve switchleri düzelttim. Scanf de biraz garip gibi. Yanayana istiyorsun.

    Cevap için teşekkürler yalnız dev c++ sizin yazdığınız program da hata veriyor 40. satırda bi de 8. satırda yazdığınız value=32.0f; ne işe yarıyor onu anlamadım açıkçası


    scanf'te girdileri hep yan yana istiyo bizim hocalar ondan öyle yazıyorum

    Alıntıları Göster
    quote:


    quote:


    http://codepad.org/4zZALvUe

    Sadece C kısmını ve switchleri düzelttim. Scanf de biraz garip gibi. Yanayana istiyorsun.

    Cevap için teşekkürler yalnız dev c++ sizin yazdığınız program da hata veriyor 40. satırda bi de 8. satırda yazdığınız value=32.0f; ne işe yarıyor onu anlamadım açıkçası

    32.0 veya 32 yaz. Ben 32.0 tercih ederdim. Hatta o satırı kaldır. Ben o satırı codepad.org sayfasında sonuç bastırabilmek için girdim. Sen kendi scanf satırını kullanacaksın.
    #include <conio.h> da o sayfada hata verdiğinden kaldırdım. Sen sadece switch kısmına ve ilk case 'c' case 'C' kısmına odaklan.



    < Bu mesaj bu kişi tarafından değiştirildi garui -- 11 Kasım 2012; 19:56:05 >




  • quote:

    Orijinalden alıntı: garui

    quote:


    quote:


    http://codepad.org/4zZALvUe

    Sadece C kısmını ve switchleri düzelttim. Scanf de biraz garip gibi. Yanayana istiyorsun.

    Cevap için teşekkürler yalnız dev c++ sizin yazdığınız program da hata veriyor 40. satırda bi de 8. satırda yazdığınız value=32.0f; ne işe yarıyor onu anlamadım açıkçası

    32.0 veya 32 yaz. Ben 32.0 tercih ederdim. Hatta o satırı kaldır. Ben o satırı codepad.org sayfasında sonuç bastırabilmek için girdim. Sen kendi scanf satırını kullanacaksın.


    Son olarak şunu yazdım büyük oranda doğru çalışıyor yalnız fahrenheit girince girdiye hatalı sonuç veriyo neden olduğunu anlıyamadım son kod şu

    #include<stdio.h> 
    #include<conio.h>
    int main (void)
    {
    char code;
    float value,cel,fah,kel;
    scanf("%c%f",&code,&value);
    switch (code) {

    case 'C':
    case 'c':
    value=cel;
    fah=cel*1.8+32;
    kel=cel+273;
    printf(" F %f \n K %f ",fah,kel);
    break;

    case 'K':
    case 'k':
    value=kel;
    cel=kel-273;
    fah=cel*1.8+32;
    printf(" C %f \n F %f",cel,fah);
    break;

    case 'F':
    case 'f':
    value=fah;
    cel=(fah-32)*10/18;
    kel=cel+273;
    printf(" C %f \n K %f",cel,kel);
    break;

    default:
    printf("Wrong code (%c) !\n",code);
    break;
    }
    getch();
    return(0);
    }



    hatalı kısım ise şurası

    case 'F': 
    case 'f':
    value=fah;
    cel=(fah-32)*10/18;
    kel=cel+273;
    printf(" C %f \n K %f",cel,kel);
    break;


    F 212 olarak girdiğimde bana (212-32)*10/18'den celcius için 100 derece kelvin için de 273+100'den 373 vermesi lazım ama sırayla -17'ye 255 veriyor




  • quote:

    Orijinalden alıntı: mertov
    F 212 olarak girdiğimde bana (212-32)*10/18'den celcius için 100 derece kelvin için de 273+100'den 373 vermesi lazım ama sırayla -17'ye 255 veriyor

    Dikkatini toplamamışsın :)

    value=cel; scanf ile value değerini alıyorsun. cel daha değer almamış. Memoryde o an orada ne yazıldıysa onun değerini value'ya aktarıyorsun.
    Senin cel=value; kel=value; fah=value; yazman gerek.

    İlk seferde farketmen için özellikle sadece Celcius için düzeltmiştim. Altta hepsini düzeltmiş bulundum böylece. ( %.2f , sayının basamaktan sonra son iki hanesini bas demek. Biraz yuvarlama yapmış olduk böylece)

    #include<stdio.h> 
    #include<conio.h>
    int main (void)
    {
    char code;
    float value,cel,fah,kel;
    scanf("%c%f",&code,&value);
    switch (code) {

    case 'C':
    case 'c':
    cel=value;
    fah=cel*1.8+32;
    kel=cel+273;
    printf(" F %.2f \n K %.2f ",fah,kel);
    break;

    case 'K':
    case 'k':
    kel=value;
    cel=kel-273;
    fah=cel*1.8+32;
    printf(" C %.2f \n F %.2f",cel,fah);
    break;

    case 'F':
    case 'f':
    fah=value;
    cel=(fah-32)*10/18;
    kel=cel+273;
    printf(" C %.2f \n K %.2f",cel,kel);
    break;

    default:
    printf("Wrong code (%c) !\n",code);
    break;
    }
    getch();
    return(0);
    }



    < Bu mesaj bu kişi tarafından değiştirildi garui -- 11 Kasım 2012; 20:08:47 >




  • quote:

    Orijinalden alıntı: garui

    quote:

    Orijinalden alıntı: mertov
    F 212 olarak girdiğimde bana (212-32)*10/18'den celcius için 100 derece kelvin için de 273+100'den 373 vermesi lazım ama sırayla -17'ye 255 veriyor

    Dikkatini toplamamışsın :)

    value=cel; scanf ile value değerini alıyorsun. cel daha değer almamış. Memoryde o an orada ne yazıldıysa onun değerini value'ya aktarıyorsun.
    Senin cel=value; kel=value; fah=value; yazman gerek.

    İlk seferde farketmen için özellikle sadece Celcius için düzeltmiştim. Altta hepsini düzeltmiş bulundum böylece. ( %.2f , sayının basamaktan sonra son iki hanesini bas demek. Biraz yuvarlama yapmış olduk böylece)

    #include<stdio.h> 
    #include<conio.h>
    int main (void)
    {
    char code;
    float value,cel,fah,kel;
    scanf("%c%f",&code,&value);
    switch (code) {

    case 'C':
    case 'c':
    cel=value;
    fah=cel*1.8+32;
    kel=cel+273;
    printf(" F %.2f \n K %.2f ",fah,kel);
    break;

    case 'K':
    case 'k':
    kel=value;
    cel=kel-273;
    fah=cel*1.8+32;
    printf(" C %.2f \n F %.2f",cel,fah);
    break;

    case 'F':
    case 'f':
    fah=value;
    cel=(fah-32)*10/18;
    kel=cel+273;
    printf(" C %.2f \n K %.2f",cel,kel);
    break;

    default:
    printf("Wrong code (%c) !\n",code);
    break;
    }
    getch();
    return(0);
    }


    Ya aslında o aklıma geldi de sonra dedim ki kelvin ve celcius için doğru değer veriyor fahrenheit için neden vermesin? Dediğiniz gibi yaptım şimdi tamamen düzgün çalışıyor teşekkürler




  • quote:

    Orijinalden alıntı: mertov
    Ya aslında o aklıma geldi de sonra dedim ki kelvin ve celcius için doğru değer veriyor fahrenheit için neden vermesin? Dediğiniz gibi yaptım şimdi tamamen düzgün çalışıyor teşekkürler

    Rica ederim :) Yukarıda basamaktan sonra iki hanesi yazmışım. Pardon. Noktadan sonra iki hane olacaktı. Yanlış yazmışım.
  • quote:

    Orijinalden alıntı: garui

    quote:

    Orijinalden alıntı: mertov
    Ya aslında o aklıma geldi de sonra dedim ki kelvin ve celcius için doğru değer veriyor fahrenheit için neden vermesin? Dediğiniz gibi yaptım şimdi tamamen düzgün çalışıyor teşekkürler

    Rica ederim :) Yukarıda basamaktan sonra iki hanesi yazmışım. Pardon. Noktadan sonra iki hane olacaktı. Yanlış yazmışım.

    Hocam bu value=fah ile fah=value olayı kafama tam yatmadı şimdi yaptığım kural olarak yanlış bilinmeyeni sol tarafa bilineni sağ tarafa yazmalıyım tamam ama value=cel ve value=kel yazdığımda sonuçlar neden doğru çıkıyor? Dediğinizi kısmen anladım value'den değer almak yerine ben value'ye değer veriyo gibi oluyorum diye düşünüyorum :)




  • quote:

    Orijinalden alıntı: mertov

    quote:

    Orijinalden alıntı: garui

    quote:

    Orijinalden alıntı: mertov
    Ya aslında o aklıma geldi de sonra dedim ki kelvin ve celcius için doğru değer veriyor fahrenheit için neden vermesin? Dediğiniz gibi yaptım şimdi tamamen düzgün çalışıyor teşekkürler

    Rica ederim :) Yukarıda basamaktan sonra iki hanesi yazmışım. Pardon. Noktadan sonra iki hane olacaktı. Yanlış yazmışım.

    Hocam bu value=fah ile fah=value olayı kafama tam yatmadı şimdi yaptığım kural olarak yanlış bilinmeyeni sol tarafa bilineni sağ tarafa yazmalıyım tamam ama value=cel ve value=kel yazdığımda sonuçlar neden doğru çıkıyor? Dediğinizi kısmen anladım value'den değer almak yerine ben value'ye değer veriyo gibi oluyorum diye düşünüyorum :)

    Her değer için mi doğru çıkıyor :) 20 25 45 vererek 3 kere çalıştır programı. Bakalım hepsinde doğru mu gelecek.

    cel=value; --> value değerini cel değerine ata demektir.

    1=cel ile cel=1 farklıdır. Hatta ilkinde compiler hata verir :)




  • quote:

    Orijinalden alıntı: Full#Throttle

    C++ kodlarını C'ye çevirebilecek bir eklenti gibi birşey var mıdır acaba?

    #include <iostream> 

    using namespace std;

    int main() {
    long double a=1,b=1,d=0,n,e,m=1;
    long double c=0;
    cout<<"n giriniz: "<<endl;

    cin>>n;

    while(m<=n){
    a=1;
    b=1;

    for(int i=1; i<=m; i++)
    a=a*i;

    for(int j=1; j<=2*m+1; j++)
    b=b*j;

    c=a/b;
    cout<<"a: "<<a<<"\nb: "<<b<<endl;
    d=d+c;
    cout<<d<<endl;
    m++;
    }
    cout<<d;
    }


    Bunu C kodu olarak çalıştıramıyorum. Printf ve scanf leri düzeltip attığımda forlarda hata alıyorum.

     
    #include <stdio.h>

    int main() {
    long double a=1,b=1,d=0,n,e,m=1,c=0;
    printf("n giriniz: \n");
    scanf("%Ld", &n);

    while(m<=n){
    a=1; b=1;
    int i,j;
    for(i=1; i<=m; i++) { a*=i; }
    for(j=1; j<=2*m+1; j++) { b*=j; }

    c=a/b;
    printf("a: %Ld\nb: %Ld\n",a ,b);
    d=d+c;
    printf("d(temp): %Ld\n",d);
    m++;
    }
    printf("d(result): %Ld\n",d);
    return 0;
    }



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




  • quote:

    Orijinalden alıntı: garui

    quote:

    Orijinalden alıntı: strahd_von_zarovich

    quote:

    Orijinalden alıntı: Roxy.

    quote:

    Orijinalden alıntı: strahd_von_zarovich

    Biraz garip olacak ama long int ile int niye aynı kapasitede sayı tutuyor . Ve unsigned int e mesela -2 verdiğimde değeri neden +4,294,967,294 oluyor ?

    adından da anlaşılacağı gibi unsigned, yani işaretsiz, sadece işaretsiz değerler girilebilir. yine de işaretli değer girilebilir, eğer işaretli bir değer girilirse derleyici bu değeri alır ve belirli bir kurala göre başka bir değer aktarır. derleyiciden derleyiciye farklılık gösterebilir.

    İnt in değeri derleyiciden derleyiciye farklılık gösterebiliyor ama , - nin işlenmesi aynı anladığım kadarıyla. int kaç bitlikse bende mesela 32 bit -3 gibi bir değer verildiğinde 2^32-3 değerini alıyor ama nedenini çözemedim.


    unsigned int niye int in yaklaşık 2 katı pozitif değer alır diye düşünmekle başla. Data Type Ranges

    int 32 bit tanımlanır. Negatif ve Pozitiflik MSB(Most Significant Bit) -yani 32. bit diyebiliriz - bitinde tutulur.

    8 bitlik bi sayı ile anlatıyım. Memoryde aşağıdaki gibi tutulduklarını düşün.
    00000011 = signed 3 = unsigned 3
    11111101 = signed -3 = unsigned 253

    Şimdi sen -3 diyince unsigned int değişkene 11111101 değerini atıyorsun. unsigned int için bu değer 253 demek. Eğerki biz 11111101 memory bloğuna bu aslında int deseydik bilgisayar bu sayıyı int olarak ele alıcak. Bakıcak MSB 1 yani bu sayı negatif. Üstinde 2's complement uyguluycak (1's complement +1) bu sayının negatif değerini bulmak için. Sonuç 00000010 + 1 = 00000011 = 3 ama negatif yani -3.
    Daha fazla açıklama için 2's complement wiki sayfası --> Two's Complement

    Neden böyle bir yöntem ile sayıların memory üzerinde tutulduğunu soruyorsan Wiki sayfasında da belirtilmiş. Çoğu matematik işlem üzerlerinde direk uygulanabiliniyor.

    Örnek :

    -3 + 5 = 11111101 + 00000101 = 100000010 (9.bit 8bit memory üstünde işlem yaptığımızdan Carry Bit olarak algılanacak.) Elimizde 8 bit olarak memoryde 00000010 var. Sonuç : 2.
    -3 + 2 = 11111101 + 00000010 = 11111111 (Sonuç 8 bit. Carry Bit taşması yok.) Sonuç : MSB'e bakıyoruz 1 yani sonuç negatif. 11111111 -> (2's complement) -> 00000000 + 1 = 00000001. Yani -1.

    Basit olarak şöyle diyebiliriz. Sayıların bellekteki görünümleri aynı olsa bile işaretli ve işaretsiz olarak yorumlanmaları farklıdır. Mesela 1111 1110 verisine signed char üzerinden erişirsek -2, unsigned char üzerinden erişirsek 254 sonucunu alırız.

    union {
    char a;
    unsigned char b;
    };
    b = 200;

    printf("b = %d\n", b); // 200
    printf("a = %d\n", a); // -56
    İki sayıda binary olarak aynı olsada yorumlanmaları farklı. Bir diğer konu da pointerlar.

    char* bptr = (char*) &b;
    printf("b = %d\n", *bptr); // -56

    b içindeki veriye signed (char) olarak erişildiğinden -56 elde edildi.




  • quote:

    Orijinalden alıntı: garui

    quote:

    Orijinalden alıntı: Full#Throttle

    C++ kodlarını C'ye çevirebilecek bir eklenti gibi birşey var mıdır acaba?

    #include <iostream> 

    using namespace std;

    int main() {
    long double a=1,b=1,d=0,n,e,m=1;
    long double c=0;
    cout<<"n giriniz: "<<endl;

    cin>>n;

    while(m<=n){
    a=1;
    b=1;

    for(int i=1; i<=m; i++)
    a=a*i;

    for(int j=1; j<=2*m+1; j++)
    b=b*j;

    c=a/b;
    cout<<"a: "<<a<<"\nb: "<<b<<endl;
    d=d+c;
    cout<<d<<endl;
    m++;
    }
    cout<<d;
    }


    Bunu C kodu olarak çalıştıramıyorum. Printf ve scanf leri düzeltip attığımda forlarda hata alıyorum.

     
    #include <stdio.h>

    int main() {
    long double a=1,b=1,d=0,n,e,m=1,c=0;
    printf("n giriniz: \n");
    scanf("%Ld", &n);

    while(m<=n){
    a=1; b=1;
    int i,j;
    for(i=1; i<=m; i++) { a*=i; }
    for(j=1; j<=2*m+1; j++) { b*=j; }

    c=a/b;
    printf("a: %Ld\nb: %Ld\n",a ,b);
    d=d+c;
    printf("d(temp): %Ld\n",d);
    m++;
    }
    printf("d(result): %Ld\n",d);
    return 0;
    }


    Teşekkür ederim.




  • merhabalar ben h.tepede 1. sınıftayım hocamız bize kendi kütüphanenizi oluşturun dedi ben codeblcks kullanıyorum
    program hakkında bilginiz var mı bir de kütüphaneyi nasıl oluşturacağım?
  • quote:

    Orijinalden alıntı: jervis

    merhabalar ben h.tepede 1. sınıftayım hocamız bize kendi kütüphanenizi oluşturun dedi ben codeblcks kullanıyorum
    program hakkında bilginiz var mı bir de kütüphaneyi nasıl oluşturacağım?

    Hocan sadece bu kadar dediyse,



    içine bir de,

    #ifndef __myCuteLibrary
    #define __myCuteLibrary
    .
    .
    .
    .
    .
    .
    #endif

    yaparsın tamamdır.

    Bir de buna benzer class için yaparsın. C++ olur.

    http://en.wikipedia.org/wiki/Library_(computing) --> Static linking, dynamic linking vs...



    < Bu mesaj bu kişi tarafından değiştirildi garui -- 12 Kasım 2012; 0:46:42 >




  • quote:

    Orijinalden alıntı: garui

    quote:

    Orijinalden alıntı: jervis

    merhabalar ben h.tepede 1. sınıftayım hocamız bize kendi kütüphanenizi oluşturun dedi ben codeblcks kullanıyorum
    program hakkında bilginiz var mı bir de kütüphaneyi nasıl oluşturacağım?

    Hocan sadece bu kadar dediyse,

    http://stackoverflow.com/questions/42770/writing-using-c-libraries

    içine bir de,

    #ifndef __myCuteLibrary
    #define __myCuteLibrary
    .
    .
    .
    .
    .
    .
    #endif

    yaparsın tamamdır.

    Bir de buna benzer class için yaparsın. C++ olur.

    http://en.wikipedia.org/wiki/Library_(computing) --> Static linking, dynamic linking vs...

    teşekkür ederim..




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