Şimdi Ara

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

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

    Orijinalden alıntı: MrOwl

    quote:

    Orijinalden alıntı: welowis

    quote:

    Orijinalden alıntı: garui

    quote:

    Orijinalden alıntı: welowis

    C de piramit yapmanin mantigi nedir for dongusuyle?
    Mesela dik ucgen seklinde piramit. Tanimladigimiz i ve j jin satir sutun olup olmadigini nasil anlicam iyicene kafam karisti..

    Nasıl kullandığına bağlı hangisi satır hangisi sütun ? Kodun nerede ?

    Dik üçgen çizdirmek içinde her zaman i,j gerekmiyor. Hele iç-içe for döngüsü de gerekmiyebilir. Burada düşünce mantığın önemli "Nasıl ekrana dik üçgen bastırırım ?"
    Aşağıda 4 dik üçgen var. Ne iç-içe for döngüsü ne j var. pyramid_floor değerini değiştirdikçe dik üçgenleri büyütüp küçültebilirsin. pyramid_floordan büyük olmamak kaydıyla, pyramid_top büyütürsen dik yamuk elde edersin.

    Mantık senin mantığın ve düşünce tarzın. Ben bir şeyi sadece bir yolla yaparım diye bir şey çoğu zaman yok. Aşağıdaki kod i ve j ile yine tek for üzerinde de dönebilir ama daha kompleks olur.

    Kodunu göster ona göre nere satır nere sütün söyliyelim. (Evet direk kullanma diye C++ )

    /* DH GaRUi */ 
    #include <iostream>
    #include <iomanip>

    #define pyramid_floor 10
    #define pyramid_top 1

    int main()
    {

    int i;

    for (i=pyramid_top; i<=pyramid_floor ; ++i)
    {
    cout << setw(i) << setfill('*') << '*' << endl;
    }

    cout << endl;

    for (i=pyramid_floor; i>=pyramid_top ; --i)
    {
    cout << setw(i) << setfill('*') << '*' << endl;
    }

    cout << endl;

    for (i=pyramid_top; i<=pyramid_floor; ++i)
    {
    if(i<pyramid_floor) { cout << setw(pyramid_floor-i) << setfill(' ') << ' ';}
    cout << setw(i)<< setfill('*') << '*' << endl;
    }

    cout << endl;

    for (i=pyramid_floor; i>=pyramid_top ; --i)
    {
    if(i<pyramid_floor) { cout << setw(pyramid_floor-i)<< setfill(' ') << ' ';}
    cout << setw(i) << setfill('*') << '*' << endl;
    }


    return 0;
    }


     
    *
    **
    ***
    ****
    *****
    ******
    *******
    ********
    *********
    **********

    **********
    *********
    ********
    *******
    ******
    *****
    ****
    ***
    **
    *

    *
    **
    ***
    ****
    *****
    ******
    *******
    ********
    *********
    **********

    **********
    *********
    ********
    *******
    ******
    *****
    ****
    ***
    **
    *


    Ekleme: Nasıl normal piramit yapmışlar diye baktığımda 3 for iç-içe görmüştüm. Kodun kompleks yapısı iyice artıyor. Aşağıda 3 for ve 3 normal piramit var. Birinde j bile yok.

     
    /* DH GaRUi */
    #include <iostream>
    #include <iomanip>

    #define pyramid_floor 11
    #define pyramid_top 1
    #define pyramid_increase 2

    int main()
    {

    int i;

    for (i=pyramid_top; i<=pyramid_floor ; i+=pyramid_increase)
    {
    cout << setw(pyramid_floor-i/pyramid_increase)<< setfill(' ') << ' ' << setw(i) << setfill('*') << '*' << endl;
    }

    cout << endl;

    int j;

    for (i=pyramid_top, j=pyramid_floor/pyramid_increase; i<=pyramid_floor ; i+=pyramid_increase, --j)
    {
    if(i<pyramid_floor ) { cout << setw(j)<< setfill(' ') << ' ';}
    cout << setw(i) << setfill('*') << '*' << endl;
    }

    cout << endl;

    for (i=pyramid_floor, j=pyramid_top/pyramid_increase; i>=pyramid_top ; i-=pyramid_increase, ++j)
    {
    if(i<pyramid_floor ) { cout << setw(j)<< setfill(' ') << ' ';}
    cout << setw(i) << setfill('*') << '*' << endl;
    }

    return 0;
    }


     
    *
    ***
    *****
    *******
    *********
    ***********

    *
    ***
    *****
    *******
    *********
    ***********

    ***********
    *********
    *******
    *****
    ***
    *



    Geç yazdığım için özür dilerim sınavlardan dolayı.

    Kodu biz kendimiz yazacakmışız ama kod verilse de şekli çıkartamam zaten. Resimler bize gösterilen kısım. Pyramid floor filan görmedik biz :(


    quote:

    Orijinalden alıntı: MrOwl

    quote:

    Orijinalden alıntı: welowis

    C de piramit yapmanin mantigi nedir for dongusuyle?
    Mesela dik ucgen seklinde piramit. Tanimladigimiz i ve j jin satir sutun olup olmadigini nasil anlicam iyicene kafam karisti..

    Esasında çok basit. Arkadaşımız yardımcı olacak çok güzel bir örnek vermiş. Ben de pratik bir yöntem söyleyeyim.

    Kareli bir defterin varsa, eğer yoksa kendin çizebilirsin, çizmek istediğin üçgeni çiz. Sonra köşe noktalarını(köşeden kastım üçgenin kenarlarının karelerin kesişim noktasından geçtiği yerler) belirle. Orijini sol üst olarak belirleyerek(çünkü çıktı bu noktadan başlıyor) noktaların koordinatlarını yaz fakat pozitif değerlerle yaz. Noktaları belirledikten sonra aralarında matematiksel bir bağlantı olduğunu göreceksin. Bu sana kullanmak gereken algoritmanın en basit şekilde mantığını verir.

    Kolay gelsin.


    dediklerinizi yaptıktan sonra bunu kodlamada nasıl dönüştüreceğim peki ?
    1. snıftayım ama mantığını öğrenmek istiyorum ezberden gitmek yerine. Yani şu şekli çıkart denildiğinde takılmak yerine kodu ben çıkartayım istiyorum.


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

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

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

    Önerebileceğiniz kitap var mı ? Ya da video eğitimi mi bakayım netten ? Ne yapacağımı şaşırdım hocada iş yok, kendim halletmeye çalışıcam.

    Öncelikle mantığını anlamaya çalıştığın için seni tebrik ediyorum, her dalda ancak bu şekilde düşünenler başarılı olabilir. Senin de başarılı olacağına eminim. Benim ana dalım bu değil, zamanla beni geçeceksin :)

    Garui'ye teşekkürler benden önce yazmış. Bu tarz yapılar algoritma mantığını öğretmek için varlar, kitapta çoğu noktada görmüştüm. Bazılarını dizi mantığı ile yapmak mümkün. Konudan çok uzaklaşmayalım.

    Ben kitap olarak C için Deitel&Deitel'in C ve C++ kullanmıştım. Çevirisi biraz kötü, ama içeriği çok zengin. Bu tarz örnekler de bolca var, ama sırf bunun için gidip de alma derim. Nette örnekleri çok çünkü.

    Genelde bu tarz sorularda iç içe for döngüleri çok önemli. Bunu anlamak, zihinde yer etmesini sağlamak için bolca çözmek lazım. Çok boyutlu(multidimensional arrays) dizilerde iç içe üç for yapısı da kullanıldığı oluyor. Esasında basit.

    Kademe kademe düşün. Gördüğün kodu anlamayabilirsin, çok doğal. Derleyicide çalıştırmadan önce kağıtta çalıştır. Gördüğüm kadarıyla sen de bendensin, kağıda kod yazmaktan çekinmiyorsun :) O bölümde durum nedir bilmem, ama bana başta biraz tuhaf gelmişti :) Çok işe yarar. Programı önce sen çalıştır. En içteki yapıdan başla ve kademe kademe programı çöz. Basitinden örnek vereyim.

    for(i=1;i<=3;i++)
    for(k=1;k<=3;k++)
    printf("%d,%d",i,k)
    printf("\n");

    bu program ne yazacak diye düşün. İlk for'a girdin. i=1 oldu ve içteki yapıya geçti ve k=1 dedi.

    1,1 yazdırıldı.

    Sıradaki işlem k++ ve printf ta ki k=3 oluncaya kadar.

    1,1
    1,2
    1,3

    Şimdi içteki for bitti, ama malum biz diğer for yapısının içindeydik. Diğer for'a döndük ve i=2 oldu, içe tekrar geçiyoruz.

    2,1
    2,2
    2,3

    Garui cevapladığı için ben sadece yöntem vermek istedim. Belki de bunları biliyorsun. Ama üstünden geçmek her zaman faydalıdır.

    Bir de önemli nokta daha, yapılarda karakter ve boşluğu ayrı kullan. " M" veya " M " veya "M " yapma. İkisi ayrı karakterler unutma. " " ayrı olarak kullanmayı dene.

    Alıntıları Göster
    Write a program that prints the Roman numeral equivalents of the any given decimal
    numbers in the range 1 to 1000. To stop the program, enter -1.

    bu bizim ödev de elimi kıpırdatamadım bi yol falan gösterebilir misiniz? örnekleri inceleyeyim dedim ama bazısı dizilerle yapmış daha biz görmedik onu çoğu da çalışmıyordu değiştirmeye uğraştımsa da beceremedim




  • quote:

    Orijinalden alıntı: MrOwl

    quote:

    Orijinalden alıntı: jervis

    quote:

    Orijinalden alıntı: MrOwl

    quote:

    Orijinalden alıntı: jervis

    herkese iyi pazarlar bir sorum var
     printf("Enter Your Number : "); 
    scanf("%d",r);
    double result=0.0;

    for(r=1.0, t=1.0; r<=y; r+=2, t*=-1)
    { result +=(t*(1.0f/r));}
    printf("pi/4 =~ %.16f\n",result);
    printf("pi =~ %.16f\n",result*4.0f);


    }
    ***tarzı bir kod yazıyorum kişiden bir sayı alacak ve bu sayıya göre pi sayısını hesaplayacak ama doğru gitmeyen bişeyler var bir bakarmısınız?

    Sizin yapmak istediğinizi tam olarak anlayamadım. Biraz daha açabilirseniz yardımcı olmayı isterim.

    karşıdan giren kişi enter yotu number bölümüne sayıyı girecek ,o sayıya göre de program pi sayısıı hesaplayacak taslağını verdim ama program çalışmıyor
    not:printf,scanf kullandım

    Ne demek istediğinizi anladım, programda yaptırmaya çalıştığınızı anlamadım. Hangi yöntemle pi'yi bulacak? Ne gibi bir denklemi uygulamak istiyorsunuz? Algoritmasından bahsedebilir misiniz? r girdisi alıp r'ye değer atamışsınız.

    hocam ilginize çok teşekkür ederim garui abi yaptı benim sitediğimi
    anlatmak istediğim şuydu internette leibniz teoremi var:bu teoremle pi sayısını buluyor yapamadım ama şimdi halloldu eğer kodun son halini isterseniz pm atarım




  • quote:

    Orijinalden alıntı: jervis

    quote:

    Orijinalden alıntı: MrOwl

    quote:

    Orijinalden alıntı: jervis

    quote:

    Orijinalden alıntı: MrOwl

    quote:

    Orijinalden alıntı: jervis

    herkese iyi pazarlar bir sorum var
     printf("Enter Your Number : "); 
    scanf("%d",r);
    double result=0.0;

    for(r=1.0, t=1.0; r<=y; r+=2, t*=-1)
    { result +=(t*(1.0f/r));}
    printf("pi/4 =~ %.16f\n",result);
    printf("pi =~ %.16f\n",result*4.0f);


    }
    ***tarzı bir kod yazıyorum kişiden bir sayı alacak ve bu sayıya göre pi sayısını hesaplayacak ama doğru gitmeyen bişeyler var bir bakarmısınız?

    Sizin yapmak istediğinizi tam olarak anlayamadım. Biraz daha açabilirseniz yardımcı olmayı isterim.

    karşıdan giren kişi enter yotu number bölümüne sayıyı girecek ,o sayıya göre de program pi sayısıı hesaplayacak taslağını verdim ama program çalışmıyor
    not:printf,scanf kullandım

    Ne demek istediğinizi anladım, programda yaptırmaya çalıştığınızı anlamadım. Hangi yöntemle pi'yi bulacak? Ne gibi bir denklemi uygulamak istiyorsunuz? Algoritmasından bahsedebilir misiniz? r girdisi alıp r'ye değer atamışsınız.

    hocam ilginize çok teşekkür ederim garui abi yaptı benim sitediğimi
    anlatmak istediğim şuydu internette leibniz teoremi var:bu teoremle pi sayısını buluyor yapamadım ama şimdi halloldu eğer kodun son halini isterseniz pm atarım

    Alıntıları Göster
    arkadaşlar yukarıda bahsettim ama bir hatam var bulamadım
     
    #include <stdio.h>

    int main()
    {

    float i,j,n;
    double result=0.0;
    printf("sayi:");
    scanf("%f",&n);
    for(i=1.0, j=1.0; i<=n; i+=2, j*=-1) { result +=(j*(1.0f/i));
    printf("result:%f, i(%g), j(%g)\n",result,i,j); }
    printf("pi/4 =~ %.8f\n",result);

    return 0;
    }

    kodum çalışıyor ama şöle bir sorum var ben 8 giriyorum 8 e kadar olan pi sayılarını hesaplayıp yazıyor ben sadece 8 değerindeki pi sayısını yazmasını istiyorum bir yardım edermisiniz...




  • quote:

    Orijinalden alıntı: jervis

    arkadaşlar yukarıda bahsettim ama bir hatam var bulamadım
     
    #include <stdio.h>

    int main()
    {

    float i,j,n;
    double result=0.0;
    printf("sayi:");
    scanf("%f",&n);
    for(i=1.0, j=1.0; i<=n; i+=2, j*=-1) { result +=(j*(1.0f/i));
    printf("result:%f, i(%g), j(%g)\n",result,i,j); }
    printf("pi/4 =~ %.8f\n",result);

    return 0;
    }

    kodum çalışıyor ama şöle bir sorum var ben 8 giriyorum 8 e kadar olan pi sayılarını hesaplayıp yazıyor ben sadece 8 değerindeki pi sayısını yazmasını istiyorum bir yardım edermisiniz...

     
    #include <stdio.h>

    int main()
    {

    float i,j,n;
    double result=0.0;
    printf("sayi:");
    scanf("%f",&n);
    for(i=1.0, j=1.0; i<=n; i+=2, j*=-1) { result +=(j*(1.0f/i)); }
    printf("pi/4 =~ %.8f\n",result);

    return 0;
    }




  • quote:

    Orijinalden alıntı: garui

    quote:

    Orijinalden alıntı: jervis

    arkadaşlar c kodda leibniz formülünde döngü nasıl oluşturuluyor biliyormusunuz)formülün geri kalan kısmın yazabildimde n yerine sayı konması döngüsünü yapamadım


    n=9'a kadar ekledim alttaki linke.

    codepad.org
    C code- 13 lines - codepad
    http://codepad.org/DkxNvzyK


    #include <stdio.h> 
    int main()
    {

    float i,j,n=9.0;
    double result=0.0;

    for(i=1.0, j=1.0; i<=n; i+=2, j*=-1) { result +=(j*(1.0f/i)); printf("result:%f, i(%g), j(%g)\n",result,i,j); }
    printf("pi/4 =~ %.16f\n",result);

    return 0;
    }


    Output:
    result:1.000000, i(1), j(1) 
    result:0.666667, i(3), j(-1)
    result:0.866667, i(5), j(1)
    result:0.723810, i(7), j(-1)
    result:0.834921, i(9), j(1)
    pi/4 =~ 0.8349206349206348


    Alıntıları Göster
    hocam merhabalar... ekrana herhangi bir çizim yapmak istiyorum. kare daire farketmez, ama form üzerine değil, masaüstü ekranı üzerine? yardımcı olun lütfen...




  • quote:

    Orijinalden alıntı: ozgur200

    hocam merhabalar... ekrana herhangi bir çizim yapmak istiyorum. kare daire farketmez, ama form üzerine değil, masaüstü ekranı üzerine? yardımcı olun lütfen...



    boyle dene istersen form ustune




  • quote:

    Orijinalden alıntı: garui

    quote:

    Orijinalden alıntı: ozgur200

    hocam merhabalar... ekrana herhangi bir çizim yapmak istiyorum. kare daire farketmez, ama form üzerine değil, masaüstü ekranı üzerine? yardımcı olun lütfen...



    boyle dene istersen form ustune

    Alıntıları Göster
    C# comboBox içine access verisini direk sütun olarak use data bound item özelliği ile nasıl ekleyebilirim
    kod yazmadan
    for (int i = 0; i < hamal.Tables [0].Rows.Count   ; i++) 

    {

    comboBox1.Items.Add(hamal.Tables[0].Rows[i].ItemArray[0].ToString());

    }


    daha kısa bir kod var mı?




  • C Programlama dilini anlatan (internette) ücretsiz bir kitap var mı?
    Link atarsanız sevinirim
  • quote:

    Orijinalden alıntı: Hüseyinmiş

    C Programlama dilini anlatan (internette) ücretsiz bir kitap var mı?
    Link atarsanız sevinirim
    Fonksiyon kullanarak faktoriyel hesaplaması kurmam gerkli ama yazdığım kod , ilk 11 - 13 sayıyı doğru yazıyo .. nerede hata var bakabilir misiniz ?



    #include<stdio.h> 


    int faktoriyel(int a)
    {


    if(a > 1)

    return ( a * faktoriyel(a - 1));
    else
    return 1;



    }
    int main()
    {

    int x;

    printf("Bir sayi giriniz.\n");

    scanf("%d", &x);

    printf("%d sayisinin faktoriyeli = %d dir.\n", x, faktoriyel(x));



    system("pause");

    return 0;
    }




  • quote:

    Orijinalden alıntı: YouCan_YMK

    Fonksiyon kullanarak faktoriyel hesaplaması kurmam gerkli ama yazdığım kod , ilk 11 - 13 sayıyı doğru yazıyo .. nerede hata var bakabilir misiniz ?

    Sorun faktoryel sonucunun int sınırlarını aşması. int i "long long" ile değiştirirsen bu sınır biraz daha genişler. Daha da geniş (teorik olarak sınırsız) sayılar için açtığım şu konuya bakabilirsiniz.http://forum.donanimhaber.com/m_66567895/tm.htm
  • quote:

    Orijinalden alıntı: Hüseyinmiş

    C Programlama dilini anlatan (internette) ücretsiz bir kitap var mı?
    Link atarsanız sevinirim

    Ben açıkçası geleneksel bir adam mıyım diye düşünüyorum ama kesinlikle değilim. Benim önerim elle tutulan, kağıttan yapılmış bir kitap olur :) Sebebini de açıklayayım.

    Geri dönüp bakma avantajı vardır, diğerinde de var diyeceksiniz. Fakat öyle değil açıklayayım.
    İçerikteki bilgileri alırken görsel hafızayı da kullanırız. Ben açıkçası kitapta okuduğum bir bilginin sayfanın hangi konumunda, etrafında kalın harflerle veya belirgin öğelerle nerede olduğunu aklıma atıp öyle hatırlarım. Bunun için ek bir çaba yapmıyorum. İnsanın aklında böyle kalıyor. Renkli fosforlu kalem kullanırsanız fark edeceksiniz. Ayrıca üzerine post-it lerle not tutabilirsiniz.

    Kitap olarak çevirisi kötü olsa da zengin içeriğinden ötürü Deitel&Deitel C ve C++ önerebilirim. Biraz pahalı gelebilir, ama bilginin değerini biliyorsanız her kuruşuna değecektir.




  • quote:

    Orijinalden alıntı: elektro_gadget

    quote:

    Orijinalden alıntı: YouCan_YMK

    Fonksiyon kullanarak faktoriyel hesaplaması kurmam gerkli ama yazdığım kod , ilk 11 - 13 sayıyı doğru yazıyo .. nerede hata var bakabilir misiniz ?

    Sorun faktoryel sonucunun int sınırlarını aşması. int i "long long" ile değiştirirsen bu sınır biraz daha genişler. Daha da geniş (teorik olarak sınırsız) sayılar için açtığım şu konuya bakabilirsiniz.http://forum.donanimhaber.com/m_66567895/tm.htm

    Hocam ,C ye yeni başladım , tam anlayamadım dediğinizi (bişeyler yaptım ama olmadı) nerelerde nasıl bir değişiklik yapmalıyım ...




  • quote:

    Orijinalden alıntı: DireksiyonlaMaçYapanAdam

    quote:

    Orijinalden alıntı: elektro_gadget

    quote:

    Orijinalden alıntı: YouCan_YMK

    Fonksiyon kullanarak faktoriyel hesaplaması kurmam gerkli ama yazdığım kod , ilk 11 - 13 sayıyı doğru yazıyo .. nerede hata var bakabilir misiniz ?

    Sorun faktoryel sonucunun int sınırlarını aşması. int i "long long" ile değiştirirsen bu sınır biraz daha genişler. Daha da geniş (teorik olarak sınırsız) sayılar için açtığım şu konuya bakabilirsiniz.http://forum.donanimhaber.com/m_66567895/tm.htm

    Hocam ,C ye yeni başladım , tam anlayamadım dediğinizi (bişeyler yaptım ama olmadı) nerelerde nasıl bir değişiklik yapmalıyım ...

    Alıntıları Göster
    Notların ortalamasını hesaplamak için program yazdım ama çalışmıyor hatayı söyleyebilecek olan?

     
    #include<stdio.h>
    #include<conio.h>
    int main (void)
    {
    int not,sayac=0;
    float toplam=0.0;
    printf("Notu giriniz: ");
    scanf("%d",¬);
    while(not>0)
    {
    toplam=not+toplam;
    printf("Notu giriniz: ");
    scanf("%d",¬);
    sayac++;
    }
    printf("Ortalama= %f",toplam/sayac);
    getch();
    return(0);
    }


    ¬ ne işareti bilmiyorum ama ben complierda & kullandım kopyala yapıştırdan öyle çıkmış



    < Bu mesaj bu kişi tarafından değiştirildi mertov -- 28 Kasım 2012; 21:58:37 >




  • quote:

    Orijinalden alıntı: YouCan_YMK

    quote:

    Orijinalden alıntı: elektro_gadget

    quote:

    Orijinalden alıntı: YouCan_YMK

    Fonksiyon kullanarak faktoriyel hesaplaması kurmam gerkli ama yazdığım kod , ilk 11 - 13 sayıyı doğru yazıyo .. nerede hata var bakabilir misiniz ?

    Sorun faktoryel sonucunun int sınırlarını aşması. int i "long long" ile değiştirirsen bu sınır biraz daha genişler. Daha da geniş (teorik olarak sınırsız) sayılar için açtığım şu konuya bakabilirsiniz.http://forum.donanimhaber.com/m_66567895/tm.htm

    Hocam ,C ye yeni başladım , tam anlayamadım dediğinizi (bişeyler yaptım ama olmadı) nerelerde nasıl bir değişiklik yapmalıyım ...

    Mesela

    45 sayisinin faktoriyeli :
    9649395409222631424

     
    #include<stdio.h>
    typedef unsigned long long int uint64_t;

    uint64_t faktoriyel(unsigned int a)
    {


    if(a > 1)

    return (a*faktoriyel(--a));
    else
    return 1;



    }
    int main()
    {

    uint64_t x = 45;

    printf("%llu sayisinin faktoriyeli :\n %llu \n", x, faktoriyel(x));

    return 0;
    }




  • quote:

    Orijinalden alıntı: YouCan_YMK

    Hocam ,C ye yeni başladım , tam anlayamadım dediğinizi (bişeyler yaptım ama olmadı) nerelerde nasıl bir değişiklik yapmalıyım ...

    Eksik yazmışım aslında, şöyle yapalım.

    Önce stdint.h başlığını ekle (#include <stdint.h>).
    faktoryel fonksiyonundaki int leri uintmax_t ile değiştir yani ( uintmax_t faktoriyel(uintmax_t a ...)
    printf lerdeki %d leri %llu ile değiştir ve derle.

    Eğer uintmax_t tanımsız gibi bir hata verirse stdint.h başlığını silip yerine typedef unsigned long long uintmax_t; yaz.
    Yine de bunlar standart değil, windows ta çalışmasının garantisi yok.

    garui benden önce yazmış.



    < Bu mesaj bu kişi tarafından değiştirildi Guest-BF8E9B238 -- 28 Kasım 2012; 22:33:52 >




  • quote:

    Orijinalden alıntı: Guest-BF8E9B238

    quote:

    Orijinalden alıntı: YouCan_YMK

    Hocam ,C ye yeni başladım , tam anlayamadım dediğinizi (bişeyler yaptım ama olmadı) nerelerde nasıl bir değişiklik yapmalıyım ...

    Eksik yazmışım aslında, şöyle yapalım.

    Önce stdint.h başlığını ekle (#include <stdint.h>).
    faktoryel fonksiyonundaki int leri uintmax_t ile değiştir yani ( uintmax_t faktoriyel(uintmax_t a ...)
    printf lerdeki %d leri %llu ile değiştir ve derle.

    Eğer uintmax_t tanımsız gibi bir hata verirse stdint.h başlığını silip yerine typedef unsigned long long uintmax_t; yaz.
    Yine de bunlar standart değil, windows ta çalışmasının garantisi yok.

    garui benden önce yazmış.

    Alıntıları Göster
    garui
    45 faktoryel 64 bitin sınırlarını fazlasıyla aşıyor, yanlış olmuş o 20! den sonra tökezliyor. İşte 45! = 119622220865480194561963161495657715064383733760000000000.
    Aha bu da 100! = 933262154439441526816992388562667004907159682643816214685929638952175999932299156089414639761565182862
    53697920827223758251185210916864000000000000000000000000.

    Merak edenler için gmp kodu.
     
    #include <stdio.h>
    #include <gmp.h>

    int main()
    {
    unsigned sayi;
    mpz_t sonuc;
    mpz_init(sonuc);

    scanf("%d", &sayi);
    mpz_fac_ui(sonuc, sayi);

    gmp_printf("Sonuç: %Zd\n", sonuc);
    mpz_clear(sonuc);

    return 0;
    }



    < Bu mesaj bu kişi tarafından değiştirildi Guest-BF8E9B238 -- 28 Kasım 2012; 23:09:37 >




  • quote:

    Orijinalden alıntı: elektro_gadget

    garui
    45 faktoryel 64 bitin sınırlarını fazlasıyla aşıyor, yanlış olmuş o 20! den sonra tökezliyor. İşte 45! = 119622220865480194561963161495657715064383733760000000000.
    Aha bu da 100! = 933262154439441526816992388562667004907159682643816214685929638952175999932299156089414639761565182862
    53697920827223758251185210916864000000000000000000000000.

    Merak edenler için gmp kodu.
     
    #include <stdio.h>
    #include <gmp.h>

    int main()
    {
    unsigned sayi;
    mpz_t sonuc;
    mpz_init(sonuc);

    scanf("%d", &sayi);
    mpz_fac_ui(sonuc, sayi);

    gmp_printf("Sonuç: %Zd\n", sonuc);
    mpz_clear(sonuc);

    return 0;
    }


    Hıı. Bana aşmaz gibi gelmişti. Sonuç da 0 çıkmayınca dedim 64 bit yetti heralde

    < Bu ileti tablet sürüm kullanılarak atıldı >




  • quote:

    Orijinalden alıntı: YouCan_YMK

    Bu C için mi hocam .. hata verdi , çalıştıramadım ?

    Bu kütüphaneyi ayrıca kurmak gerekli. Önceki mesajımda verdiğim bağlantığı takip edersen nasıl olacağını anlattım.
  • quote:

    Orijinalden alıntı: companjera

    quote:

    Orijinalden alıntı: OnrAvc56

    merhaba programcı arkadaşlarım lise 2 öğrencisiyim bilişim teknolojileri bölümünde okuyorum c# programlama dilini öğreniyoruz ve ben basit bir not hesaplama programı geliştirdim fakat bir sıkıntım var 3 yazılı 1 sözlü notunun ortalmaasını alıp geçti kaldı vs. textboxlara bilgi giriliyor.Ancak şöyle bi sorunum var şimdi 3 yazılı 1 sözlü girilecek şekilde ayarladım ama 4 textboxtan 1 tanesi boş bırakılınca prog. hata veriyor.Yeni olduğum için bu sorunu henüz aşamadım yardımcı olurmusunuz



    {
    public Form1()
    {
    InitializeComponent();
    }
    private void Form1_Load(object sender, EventArgs e)
    {
    MessageBox.Show("Hoş Geldiniz :)");
    MessageBox.Show("Bu basit bir not hesaplama programıdır.");
    MessageBox.Show("Coding By Onur");

    }

    private void button1_Click(object sender, EventArgs e)
    {
    int yazili1 = Convert.ToInt32(textBox1.Text);
    int yazili2 = Convert.ToInt32(textBox2.Text);
    int yazili3 = Convert.ToInt32(textBox3.Text);
    int sozlu = Convert.ToInt32(textBox4.Text);
    int ort = (yazili1 + yazili2 + yazili3 + sozlu) / 4;
    string durum = (textBox6.Text);
    textBox5.Text = ("" + ort);

    if (ort >= 0 && ort <= 24)
    {
    textBox6.Text = ("0 = Kaldı :(");
    }
    if (ort >= 25 && ort <= 44)
    {
    textBox6.Text = ("1 = Kaldı :(");
    }
    if (ort >= 45 && ort <= 54)
    {
    textBox6.Text = ("2 = Geçti");
    }
    if (ort >= 55 && ort <= 69)
    {
    textBox6.Text = ("3 = Orta");
    }
    if (ort >= 70 && ort <= 84)
    {
    textBox6.Text = ("4 = İyi");
    }
    if (ort >= 85 && ort <= 100)
    {
    textBox6.Text = ("5 = Pekiyi :)");
    }

    }

    if(textbox1.Text==null){int yazili1==0;}

    gibi bir koşul koyarsan textbox boşken sıfır alır o değeri ya da başka birşeyde yapabilirsin o değer girilmemişse

    çok teşekkür ederim




  • quote:

    Orijinalden alıntı: OnrAvc56

    quote:

    Orijinalden alıntı: companjera

    quote:

    Orijinalden alıntı: OnrAvc56

    merhaba programcı arkadaşlarım lise 2 öğrencisiyim bilişim teknolojileri bölümünde okuyorum c# programlama dilini öğreniyoruz ve ben basit bir not hesaplama programı geliştirdim fakat bir sıkıntım var 3 yazılı 1 sözlü notunun ortalmaasını alıp geçti kaldı vs. textboxlara bilgi giriliyor.Ancak şöyle bi sorunum var şimdi 3 yazılı 1 sözlü girilecek şekilde ayarladım ama 4 textboxtan 1 tanesi boş bırakılınca prog. hata veriyor.Yeni olduğum için bu sorunu henüz aşamadım yardımcı olurmusunuz



    {
    public Form1()
    {
    InitializeComponent();
    }
    private void Form1_Load(object sender, EventArgs e)
    {
    MessageBox.Show("Hoş Geldiniz :)");
    MessageBox.Show("Bu basit bir not hesaplama programıdır.");
    MessageBox.Show("Coding By Onur");

    }

    private void button1_Click(object sender, EventArgs e)
    {
    int yazili1 = Convert.ToInt32(textBox1.Text);
    int yazili2 = Convert.ToInt32(textBox2.Text);
    int yazili3 = Convert.ToInt32(textBox3.Text);
    int sozlu = Convert.ToInt32(textBox4.Text);
    int ort = (yazili1 + yazili2 + yazili3 + sozlu) / 4;
    string durum = (textBox6.Text);
    textBox5.Text = ("" + ort);

    if (ort >= 0 && ort <= 24)
    {
    textBox6.Text = ("0 = Kaldı :(");
    }
    if (ort >= 25 && ort <= 44)
    {
    textBox6.Text = ("1 = Kaldı :(");
    }
    if (ort >= 45 && ort <= 54)
    {
    textBox6.Text = ("2 = Geçti");
    }
    if (ort >= 55 && ort <= 69)
    {
    textBox6.Text = ("3 = Orta");
    }
    if (ort >= 70 && ort <= 84)
    {
    textBox6.Text = ("4 = İyi");
    }
    if (ort >= 85 && ort <= 100)
    {
    textBox6.Text = ("5 = Pekiyi :)");
    }

    }

    if(textbox1.Text==null){int yazili1==0;}

    gibi bir koşul koyarsan textbox boşken sıfır alır o değeri ya da başka birşeyde yapabilirsin o değer girilmemişse

    çok teşekkür ederim

    Alıntıları Göster
    Merhaba arkadaşlar;

    C++ ile ilgili giriş seviyesinden başlayarak basit ve yalın bir anlatım sunan bir kitap var mı acaba?

    Ayrıca Windows 7 Ultimalte 64 Bit üzerinde çalıştırabileceğim bir C++ derleyici var mıdır?

    Teşekkürler..




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