Şimdi Ara

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

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
4.172
Cevap
118
Favori
167.436
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
3 oy
Öne Çıkar
Sayfa: önceki 2425262728
Sayfaya Git
Git
sonraki
Giriş
Mesaj
  • Cevabınız için teşekkür ederim...



    < Bu mesaj bu kişi tarafından değiştirildi fastcoder -- 6 Ekim 2012; 17:45:10 >
    < Bu ileti tablet sürüm kullanılarak atıldı >
  • #include <cstdlib>
    #include <iostream>
    using namespace std;

    int main(int argc, char *argv[])
    {
    int a , b;
    char karakter;
    cout<<" :-: DORT ISLEM PROGRAMI :-: "<<endl;
    cout<<"=> 1.SAYIYI GIRINIZ : ";
    cin>>a;
    cout<<"=> 2.SAYIYI GIRINIZ : ";
    cin>>b;
    cout<<"YAPMAK ISTEDIGINIZ ISLEMI SECIN (( + , - , * , / ))";
    switch(karakter)
    {
    case '+':cout<<"SONUC TOPLAM : "<<a+b;
    case '-':cout<<"SONUC ÇIKARMA : "<<a-b;
    case '*':cout<<"SONUC ÇARPMA : "<<a*b;
    case '/':cout<<"SONUC BOLME : "<<a/b;
    default:cout<<"(( + , - , * , / )) BIRISINI SECINIZ ";
    }
    system("PAUSE");
    return EXIT_SUCCESS;
    }


    arkadaşlar nerde hata yapıyorum bakarmısınız rica etsem




  • quote:

    Orijinalden alıntı: invertal

    #include <cstdlib>
    #include <iostream>
    using namespace std;

    int main(int argc, char *argv[])
    {
    int a , b;
    char karakter;
    cout<<" :-: DORT ISLEM PROGRAMI :-: "<<endl;
    cout<<"=> 1.SAYIYI GIRINIZ : ";
    cin>>a;
    cout<<"=> 2.SAYIYI GIRINIZ : ";
    cin>>b;
    cout<<"YAPMAK ISTEDIGINIZ ISLEMI SECIN (( + , - , * , / ))";
    switch(karakter)
    {
    case '+':cout<<"SONUC TOPLAM : "<<a+b;
    case '-':cout<<"SONUC ÇIKARMA : "<<a-b;
    case '*':cout<<"SONUC ÇARPMA : "<<a*b;
    case '/':cout<<"SONUC BOLME : "<<a/b;
    default:cout<<"(( + , - , * , / )) BIRISINI SECINIZ ";
    }
    system("PAUSE");
    return EXIT_SUCCESS;
    }


    arkadaşlar nerde hata yapıyorum bakarmısınız rica etsem

    Hocam c++ bilgim pek yoktur ama switch e girmeden önce karakter değişkenine işlem sembolünü tanımlamıyorsun. switchten önce "cin >> karakter;" gibi bişey olmagı gerek miyo mu?

    edit. defaulta da yanlış karakter seçtiniz gibi bişey yazdırırsan daha doğru olur sanırım



    < Bu mesaj bu kişi tarafından değiştirildi Mtntk -- 7 Ekim 2012; 17:16:50 >




  • quote:

    Orijinalden alıntı: invertal

    #include <cstdlib>
    #include <iostream>
    using namespace std;

    int main(int argc, char *argv[])
    {
    int a , b;
    char karakter;
    cout<<" :-: DORT ISLEM PROGRAMI :-: "<<endl;
    cout<<"=> 1.SAYIYI GIRINIZ : ";
    cin>>a;
    cout<<"=> 2.SAYIYI GIRINIZ : ";
    cin>>b;
    cout<<"YAPMAK ISTEDIGINIZ ISLEMI SECIN (( + , - , * , / ))";
    switch(karakter)
    {
    case '+':cout<<"SONUC TOPLAM : "<<a+b;
    case '-':cout<<"SONUC ÇIKARMA : "<<a-b;
    case '*':cout<<"SONUC ÇARPMA : "<<a*b;
    case '/':cout<<"SONUC BOLME : "<<a/b;
    default:cout<<"(( + , - , * , / )) BIRISINI SECINIZ ";
    }
    system("PAUSE");
    return EXIT_SUCCESS;
    }


    arkadaşlar nerde hata yapıyorum bakarmısınız rica etsem

    Yapmak istediğin işlemden sonra cin ile onu alman gerekir. Birde case'lerden sonra break koydum ben. Şu halde çalışıyor.
    #include <iostream>  

    using namespace std;

    int main()
    {
    int a , b;
    char karakter;
    cout<<" :-: DORT ISLEM PROGRAMI :-: "<<endl;
    cout<<"=> 1.SAYIYI GIRINIZ : ";
    cin>>a;
    cout<<"=> 2.SAYIYI GIRINIZ : ";
    cin>>b;
    cout<<"YAPMAK ISTEDIGINIZ ISLEMI SECIN (( + , - , * , / ))";
    cin>>karakter;
    switch(karakter)
    {
    case '+':cout<<"SONUC TOPLAM : "<<a+b;
    break;
    case '-':cout<<"SONUC ÇIKARMA : "<<a-b;
    break;
    case '*':cout<<"SONUC ÇARPMA : "<<a*b;
    break;
    case '/':cout<<"SONUC BOLME : "<<a/b;
    break;
    default:cout<<"(( + , - , * , / )) BIRISINI SECINIZ ";
    }
    cout<<endl;
    }



    < Bu mesaj bu kişi tarafından değiştirildi cllyldrm -- 7 Ekim 2012; 18:30:48 >




  • Üçgenin açılarını girdi olarak alan ve bu üçgenin eşkenar, ikizkenar veya çeşitkenar olduğunu belirleyen program yazınız. Kolay bi soru biliyorum ama nerde hata yaptığımı söylerseniz sevinirim çünkü complie ettiğimde bana [Linker error] undefined reference to `WinMain@16' diyor

    #include<stdio.h> 
    #include<conio.h>
    int mian (void)
    {
    int a,b,c;
    printf("Uc aci giriniz: ");
    scanf("%d%d%d",&a,&b,&c);
    if (a+b+c!=180)
    printf("Yanlis girdiniz");
    else if (a==60 && b==60 && c==60)
    printf("Eskenar ucgen");
    else if (a==b || a==c || b==c )
    printf("Ikizkenar ucgen");
    else if (a!=b && b!=c && c!=a)
    printf("Cesitkenar ucgen");
    getch();
    return (0);
    }





  • quote:

    Orijinalden alıntı: mertov

    Üçgenin açılarını girdi olarak alan ve bu üçgenin eşkenar, ikizkenar veya çeşitkenar olduğunu belirleyen program yazınız. Kolay bi soru biliyorum ama nerde hata yaptığımı söylerseniz sevinirim çünkü complie ettiğimde bana [Linker error] undefined reference to `WinMain@16' diyor

    #include<stdio.h> 
    #include<conio.h>
    int mian (void)
    {
    int a,b,c;
    printf("Uc aci giriniz: ");
    scanf("%d%d%d",&a,&b,&c);
    if (a+b+c!=180)
    printf("Yanlis girdiniz");
    else if (a==60 && b==60 && c==60)
    printf("Eskenar ucgen");
    else if (a==b || a==c || b==c )
    printf("Ikizkenar ucgen");
    else if (a!=b && b!=c && c!=a)
    printf("Cesitkenar ucgen");
    getch();
    return (0);
    }




    int mian (void)
    sanırım bundan




  • quote:

    Orijinalden alıntı: Mtntk

    quote:

    Orijinalden alıntı: mertov

    Üçgenin açılarını girdi olarak alan ve bu üçgenin eşkenar, ikizkenar veya çeşitkenar olduğunu belirleyen program yazınız. Kolay bi soru biliyorum ama nerde hata yaptığımı söylerseniz sevinirim çünkü complie ettiğimde bana [Linker error] undefined reference to `WinMain@16' diyor

    #include<stdio.h> 
    #include<conio.h>
    int mian (void)
    {
    int a,b,c;
    printf("Uc aci giriniz: ");
    scanf("%d%d%d",&a,&b,&c);
    if (a+b+c!=180)
    printf("Yanlis girdiniz");
    else if (a==60 && b==60 && c==60)
    printf("Eskenar ucgen");
    else if (a==b || a==c || b==c )
    printf("Ikizkenar ucgen");
    else if (a!=b && b!=c && c!=a)
    printf("Cesitkenar ucgen");
    getch();
    return (0);
    }




    int mian (void)
    sanırım bundan

    Hocam çok teşekkürler çatlıyacaktım artık 1 saattir kontrol ediyorum hata görmüyodum.




  • Merhaba arkadaşlar, benim yapmak istediğim şey listboxa bazı programları eklemek istiyorum (winrar, nero, office 2007, nod32, vlc player gibi). bu programları nasıl eklicem. ve seçtiğim programları bir program bittiği zaman diğerinin de başlamasını istiyorum. programın bittiğini nasıl anlicam ?
  • Merhaba arkadaşlar c++ da sarrus kuralını yazmam lazım bana bi fikir sunabilir misiniz acaba teşekkürler şimdiden
  • Benim de bir sorum var daha önce 10 sayı içinden en büyük sayıyı bulmayı burda öğrenmiştim şimdi 10 sayı içinden en büyük 2 sayıyı bulmam gerekli (c dilinde for kısmına kadar biliyorum -kitaptaki soru-) Yardım ederseniz çok iyi olur çok uğraştım ama beceremedim
  • quote:

    Orijinalden alıntı: Bilim Hayvanı

    Benim de bir sorum var daha önce 10 sayı içinden en büyük sayıyı bulmayı burda öğrenmiştim şimdi 10 sayı içinden en büyük 2 sayıyı bulmam gerekli (c dilinde for kısmına kadar biliyorum -kitaptaki soru-) Yardım ederseniz çok iyi olur çok uğraştım ama beceremedim

    Benim tavsiyem;
    Bu 10 sayıyı(N olarak genelleyebiliriz) diziye attıktan sonra en büyük sayıyı bul.
    Bu sayıyı ekrana yazdır ya da farklı bir değişkenle tut ve dizideki sayıyı 0 yap ki tekrar aynı dizideki en büyük sayıyı buldurduğunda orijinal dizinin en büyük ikinci elemanı bulunsun.
    Yani arama işlemini 2 kere yap.
  • quote:

    Orijinalden alıntı: Bilim Hayvanı

    Benim de bir sorum var daha önce 10 sayı içinden en büyük sayıyı bulmayı burda öğrenmiştim şimdi 10 sayı içinden en büyük 2 sayıyı bulmam gerekli (c dilinde for kısmına kadar biliyorum -kitaptaki soru-) Yardım ederseniz çok iyi olur çok uğraştım ama beceremedim

    Yukaridaki yonteme ek olarak tek geciste de yapabilirsin.

    for icine bir 2 tampon koyucaksin. karsilastirdigin sayilarin tam sayi oldugunu dusunuyorum. O yuzden tamponlari 0'a esitledim.
     
    unsigned int en_buyuk=0 ; unsigned int en_buyuk_ikinci=0;
    unsigned int array[15] = { 1 , 19 , 4 , 250 , 93457 ,355 , 2344 , 3 , 823 , 2904, 34874, 4, 357, 34534 , 2948 };


    for (int i=0;i<15;i++)
    {
    if(en_buyuk < array[i])
    {
    en_buyuk_ikinci = en_buyuk;
    en_buyuk = array[i];
    }
    else if(en_buyuk_ikinci < array[i])
    {
    en_buyuk_ikinci = array[i];
    }
    }

    printf("En Buyuk : %u , En Buyuk Ikinci : %u\n",en_buyuk,en_buyuk_ikinci);



    "En Buyuk : 93457 , En Buyuk Ikinci : 34874"

    Ekleme :

    Burada birbirine esit iki sayi en buyuk olsaydi mesela iki tane 93457; cikti,
    "En Buyuk : 93457 , En Buyuk Ikinci : 93457 selkinde olacakti"
    Eger boyle olmasin istersen for loopunun icinie ekleme yapacaksin. Mesela,

     
    for (int i=0;i<15;i++)
    {
    if(array[i] == en_buyuk ||array[i] == en_buyuk_ikinci)
    {
    continue;
    }
    else if(en_buyuk < array[i])
    {
    en_buyuk_ikinci = en_buyuk;
    en_buyuk = array[i];
    }
    else if(en_buyuk_ikinci < array[i])
    {
    en_buyuk_ikinci = array[i];
    }
    }


    ekliyceksin.



    < Bu mesaj bu kişi tarafından değiştirildi garui -- 11 Ekim 2012; 17:23:40 >




  • quote:

    Orijinalden alıntı: YılmazAskar

    quote:

    Orijinalden alıntı: Bilim Hayvanı

    Benim de bir sorum var daha önce 10 sayı içinden en büyük sayıyı bulmayı burda öğrenmiştim şimdi 10 sayı içinden en büyük 2 sayıyı bulmam gerekli (c dilinde for kısmına kadar biliyorum -kitaptaki soru-) Yardım ederseniz çok iyi olur çok uğraştım ama beceremedim

    Benim tavsiyem;
    Bu 10 sayıyı(N olarak genelleyebiliriz) diziye attıktan sonra en büyük sayıyı bul.
    Bu sayıyı ekrana yazdır ya da farklı bir değişkenle tut ve dizideki sayıyı 0 yap ki tekrar aynı dizideki en büyük sayıyı buldurduğunda orijinal dizinin en büyük ikinci elemanı bulunsun.
    Yani arama işlemini 2 kere yap.



    quote:

    Orijinalden alıntı: garui

    quote:

    Orijinalden alıntı: Bilim Hayvanı

    Benim de bir sorum var daha önce 10 sayı içinden en büyük sayıyı bulmayı burda öğrenmiştim şimdi 10 sayı içinden en büyük 2 sayıyı bulmam gerekli (c dilinde for kısmına kadar biliyorum -kitaptaki soru-) Yardım ederseniz çok iyi olur çok uğraştım ama beceremedim

    Yukaridaki yonteme ek olarak tek geciste de yapabilirsin.

    for icine bir 2 tampon koyucaksin. karsilastirdigin sayilarin tam sayi oldugunu dusunuyorum. O yuzden tamponlari 0'a esitledim.
     
    unsigned int en_buyuk=0 ; unsigned int en_buyuk_ikinci=0;
    unsigned int array[15] = { 1 , 19 , 4 , 250 , 93457 ,355 , 2344 , 3 , 823 , 2904, 34874, 4, 357, 34534 , 2948 };


    for (int i=0;i<15;i++)
    {
    if(en_buyuk < array[i])
    {
    en_buyuk_ikinci = en_buyuk;
    en_buyuk = array[i];
    }
    else if(en_buyuk_ikinci < array[i])
    {
    en_buyuk_ikinci = array[i];
    }
    }

    printf("En Buyuk : %u , En Buyuk Ikinci : %u\n",en_buyuk,en_buyuk_ikinci);



    "En Buyuk : 93457 , En Buyuk Ikinci : 34874"

    Ekleme :

    Burada birbirine esit iki sayi en buyuk olsaydi mesela iki tane 93457; cikti,
    "En Buyuk : 93457 , En Buyuk Ikinci : 93457 selkinde olacakti"
    Eger boyle olmasin istersen for loopunun icinie ekleme yapacaksin. Mesela,

     
    for (int i=0;i<15;i++)
    {
    if(array[i] == en_buyuk ||array[i] == en_buyuk_ikinci)
    {
    continue;
    }
    else if(en_buyuk < array[i])
    {
    en_buyuk_ikinci = en_buyuk;
    en_buyuk = array[i];
    }
    else if(en_buyuk_ikinci < array[i])
    {
    en_buyuk_ikinci = array[i];
    }
    }


    ekliyceksin.




    İkinize de çok teşekkür ederim kitapta nasıl ilerlemem gerektiğini de anladım sağolun




  • quote:

    Orijinalden alıntı: Bilim Hayvanı

    quote:

    Orijinalden alıntı: YılmazAskar

    quote:

    Orijinalden alıntı: Bilim Hayvanı

    Benim de bir sorum var daha önce 10 sayı içinden en büyük sayıyı bulmayı burda öğrenmiştim şimdi 10 sayı içinden en büyük 2 sayıyı bulmam gerekli (c dilinde for kısmına kadar biliyorum -kitaptaki soru-) Yardım ederseniz çok iyi olur çok uğraştım ama beceremedim

    Benim tavsiyem;
    Bu 10 sayıyı(N olarak genelleyebiliriz) diziye attıktan sonra en büyük sayıyı bul.
    Bu sayıyı ekrana yazdır ya da farklı bir değişkenle tut ve dizideki sayıyı 0 yap ki tekrar aynı dizideki en büyük sayıyı buldurduğunda orijinal dizinin en büyük ikinci elemanı bulunsun.
    Yani arama işlemini 2 kere yap.



    quote:

    Orijinalden alıntı: garui

    quote:

    Orijinalden alıntı: Bilim Hayvanı

    Benim de bir sorum var daha önce 10 sayı içinden en büyük sayıyı bulmayı burda öğrenmiştim şimdi 10 sayı içinden en büyük 2 sayıyı bulmam gerekli (c dilinde for kısmına kadar biliyorum -kitaptaki soru-) Yardım ederseniz çok iyi olur çok uğraştım ama beceremedim

    Yukaridaki yonteme ek olarak tek geciste de yapabilirsin.

    for icine bir 2 tampon koyucaksin. karsilastirdigin sayilarin tam sayi oldugunu dusunuyorum. O yuzden tamponlari 0'a esitledim.
     
    unsigned int en_buyuk=0 ; unsigned int en_buyuk_ikinci=0;
    unsigned int array[15] = { 1 , 19 , 4 , 250 , 93457 ,355 , 2344 , 3 , 823 , 2904, 34874, 4, 357, 34534 , 2948 };


    for (int i=0;i<15;i++)
    {
    if(en_buyuk < array[i])
    {
    en_buyuk_ikinci = en_buyuk;
    en_buyuk = array[i];
    }
    else if(en_buyuk_ikinci < array[i])
    {
    en_buyuk_ikinci = array[i];
    }
    }

    printf("En Buyuk : %u , En Buyuk Ikinci : %u\n",en_buyuk,en_buyuk_ikinci);



    "En Buyuk : 93457 , En Buyuk Ikinci : 34874"

    Ekleme :

    Burada birbirine esit iki sayi en buyuk olsaydi mesela iki tane 93457; cikti,
    "En Buyuk : 93457 , En Buyuk Ikinci : 93457 selkinde olacakti"
    Eger boyle olmasin istersen for loopunun icinie ekleme yapacaksin. Mesela,

     
    for (int i=0;i<15;i++)
    {
    if(array[i] == en_buyuk ||array[i] == en_buyuk_ikinci)
    {
    continue;
    }
    else if(en_buyuk < array[i])
    {
    en_buyuk_ikinci = en_buyuk;
    en_buyuk = array[i];
    }
    else if(en_buyuk_ikinci < array[i])
    {
    en_buyuk_ikinci = array[i];
    }
    }


    ekliyceksin.




    İkinize de çok teşekkür ederim kitapta nasıl ilerlemem gerektiğini de anladım sağolun

    Alıntıları Göster
    quote:


    İkinize de çok teşekkür ederim kitapta nasıl ilerlemem gerektiğini de anladım sağolun

    Rica ederim. Burada önemli olan algoritma mantığı. Bu tip küçük programlarda koddan çok algoritma önemlidir. Algoritmayı düşünüp bunu koda aktarıcaksın. Mesela verdiğim kodun son halinde algoritma hatalı.

     
    if(array[i] == en_buyuk ||array[i] == en_buyuk_ikinci)

    yerine

    if(array[i] == en_buyuk)

    yazılırsa kod tamamen aynı işlemi yapıcak. (array[i] == en_buyuk_ikinci) kontrolü işlemciye fazladan gereksiz işlem yaptırmaktan öteye gitmez.



    Genel programlama mantığını öğrendikten sonra daha iyi algoritmalar çıkartabilirsin. Bir şeyi yapmak için birden çok metod olabilir. Aşağıdaki link anlatmak istediğimi fikir olarak gösterebilir.




    < Bu mesaj bu kişi tarafından değiştirildi garui -- 12 Ekim 2012; 1:08:52 >




  • Orijinalden alıntı: garui


    İkinize de çok teşekkür ederim kitapta nasıl ilerlemem gerektiğini de anladım sağolun

    Rica ederim. Burada önemli olan algoritma mantığı. Bu tip küçük programlarda koddan çok algoritma önemlidir. Algoritmayı düşünüp bunu koda aktarıcaksın. Mesela verdiğim kodun son halinde algoritma hatalı.

     
    if(array[i] == en_buyuk ||array[i] == en_buyuk_ikinci)

    yerine

    if(array[i] == en_buyuk)

    yazılırsa kod tamamen aynı işlemi yapıcak. (array[i] == en_buyuk_ikinci) kontrolü işlemciye fazladan gereksiz işlem yaptırmaktan öteye gitmez.



    Genel programlama mantığını öğrendikten sonra daha iyi algoritmalar çıkartabilirsin. Bir şeyi yapmak için birden çok metod olabilir. Aşağıdaki link anlatmak istediğimi fikir olarak gösterebilir.



    Anladım ben de kitaba göre konuyu bitirdikten sonra alıştırmalara geçiyordum ama şimdi kitabı bitirip alıştırmaları en son yapıcam hem tek tip algoritma yerine farklı farklı algroitmalar kullanmış olurum




  • Arkadaşlar bu yıl C dersi görmeye başladık.

    Elimde iki tane kaynak var:
    www.kadifeli.com
    Standart C Programlama Dili - İLK BASKIYA ÖNSÖZ
    http://www.kadifeli.com/fedon/stdcprtr.php?k_1

    http://www1.gantep.edu.tr/~bingul/c/

    Hiç birşey bilmiyoruz daha, yeni başladık. Hangisini okuyayım? Ya da sizin bir tavsiyeniz var mı?




  • quote:

    Orijinalden alıntı: b111210004

    Merhaba arkadaşlar c++ da sarrus kuralını yazmam lazım bana bi fikir sunabilir misiniz acaba teşekkürler şimdiden

    Sadece 3x3 ve 2x2 matris ile işlem yapacaksın.

    İki class oluştur sarrus2C ve sarrus3C

     
    sarrus2C için protected int a[2][2]; public int determinant() { sarrus 2x2 formulu ; return result; }
    sarrus3C için protected int a[3][3]; public int determinant() { sarrus 5x5 formulu ; return result }

    contructor
    sarruc2C::sarrus2C ( int a00, int a01 , a10, a11)
    sarruc3C::sarrus3C ( int a00, int a01 , .. , int a21, int a22)

    int sarrus3c::determinant ()
    {
    int i,j,determinant=0,carpim=1;

    for(j=0;j<3;j++) {
    for(i=0;i<3;i++) {
    carpim*= a[i][(i+j)%3];
    }

    determinant+=carpim; carpim=1;
    } //Artı tarafı topladık. Aşağıya eksi taraf kaldı ;)

    for(j=5;j>=3;j--) {
    for(i=0;i<3;i++) {
    carpim*= a[i][(j-i)%3];
    }
    determinant-=carpim; carpim=1;
    } //Eksi tarafı çıkardık. Bitti.
    return determinant;
    }

    cout << "Sonuc " << sarrus3C.determinant << endl;


    sarrus2C::determinant() //Yukarıdakine göre yazabilirsin sanırım ve kodu C++ syntaxine uydurmak kaldı. Toparla da sonucu görelim.



    < Bu mesaj bu kişi tarafından değiştirildi garui -- 12 Ekim 2012; 1:03:14 >




  • quote:

    Orijinalden alıntı: Bilim Hayvanı

    Orijinalden alıntı: garui


    İkinize de çok teşekkür ederim kitapta nasıl ilerlemem gerektiğini de anladım sağolun

    Rica ederim. Burada önemli olan algoritma mantığı. Bu tip küçük programlarda koddan çok algoritma önemlidir. Algoritmayı düşünüp bunu koda aktarıcaksın. Mesela verdiğim kodun son halinde algoritma hatalı.

     
    if(array[i] == en_buyuk ||array[i] == en_buyuk_ikinci)

    yerine

    if(array[i] == en_buyuk)

    yazılırsa kod tamamen aynı işlemi yapıcak. (array[i] == en_buyuk_ikinci) kontrolü işlemciye fazladan gereksiz işlem yaptırmaktan öteye gitmez.



    Genel programlama mantığını öğrendikten sonra daha iyi algoritmalar çıkartabilirsin. Bir şeyi yapmak için birden çok metod olabilir. Aşağıdaki link anlatmak istediğimi fikir olarak gösterebilir.

    http://mathbits.com/MathBits/CompSci/Arrays/Sorting.htm

    Anladım ben de kitaba göre konuyu bitirdikten sonra alıştırmalara geçiyordum ama şimdi kitabı bitirip alıştırmaları en son yapıcam hem tek tip algoritma yerine farklı farklı algroitmalar kullanmış olurum

    Alıntıları Göster
    quote:


    Anladım ben de kitaba göre konuyu bitirdikten sonra alıştırmalara geçiyordum ama şimdi kitabı bitirip alıştırmaları en son yapıcam hem tek tip algoritma yerine farklı farklı algroitmalar kullanmış olurum

    Bence alıştırmalara yine de göz at. En azından bak hıı şunu iki for a soksam buna bir while koysam onu ekrandam alsam şeklinde. Olmadı birini ikisini yaz; compile et; sonucu ekranda gör (zevk de alırsın böylece). Elin kod yazmaya alışşın. En iyi yazarken sindiriliyor bu iş. Tabi benim fikrim.



    < Bu mesaj bu kişi tarafından değiştirildi garui -- 12 Ekim 2012; 1:02:07 >




  • quote:

    Orijinalden alıntı: garui

    quote:


    Anladım ben de kitaba göre konuyu bitirdikten sonra alıştırmalara geçiyordum ama şimdi kitabı bitirip alıştırmaları en son yapıcam hem tek tip algoritma yerine farklı farklı algroitmalar kullanmış olurum

    Bence alıştırmalara yine de göz at. En azından bak hıı şunu iki for a soksam buna bir while koysam onu ekrandam alsam şeklinde. Olmadı birini ikisini yaz; compile et; sonucu ekranda gör (zevk de alırsın böylece). Elin kod yazmaya alışşın. En iyi yazarken sindiriliyor bu iş. Tabi benim fikrim.

    Ucundan bakarım artık Şimdi amacım kitabın c bölümünü kabataslak üstünden geçip daha sonra ayrıntılara girmek 1-2 haftada for, while gibi şeylerin hepsini öğrenirim sonrası alıştırma problem çözmeye dayalı olur diye düşünüyorum. Ayrıca kod yazıp bitirdikten sonra çalışıp hiç hata vermemesi çok güzel bi' his




  • quote:

    Orijinalden alıntı: gokhanyigit

    quote:

    Orijinalden alıntı: £XE

    quote:

    Orijinalden alıntı: gokhanyigit

    quote:

    Orijinalden alıntı: £XE

    Arkadaşlar buraya böyle bir konu açma ihtiyacı duydum. C/C++/C# da takıldığınız yerler olursa bu konu altında paylaşın. Ben ve diğer arkadaşlar elimizden geldikçe yardımcı olalım.

    [size=3]NOT : Bana şu programı yazabilir misiniz ? Tarzında sorulara cevap vermeyeceğim. Önce kendiniz yapabildiğiniz kadar yapın, takıldığınız yerlerde kodu koyup sorun yardımcı olalım..





    İyi Çalışmalar.



    Hoca pascal üçgeni ile ilgili ödev verdi. Ben c++ ile yapmaya çalıştım. Program çalışıyor gibi ama hoca bize 1000. sıradaki rakamları yazdırın diyor. Haliyle o sıradaki rakamlar 30-40 basamaktanda fazladır sanırım. Ben c++ ile unsigned long tipini kullanıp 9 basamaklı sayılara kadar çıktım. Ama 10. basamak ve üzerinde bocalıyor program.

    Sizin bu konuda bilginiz var mı? 40-50 basamaklı değişken tipi oluşturamaz mıyım?


    drzeki.com
    C++ Değişkenler, Değişkenlerin Tanımlanması ve Sabitler – Kişisel Web Şeysi ! drzeki.com
    http://drzeki.com/degiskenler-degiskenlerin-tanimlanmasi-ve-sabitler.html
    şuraya bakarmısın bi


    Değişkenlerin tanımlanması, tipleri falan araştırdım ama bu verdğiniz sayfadaki tipler 9-10 basamağa kadar sayı tutuyor galiba. Çok çok daha büyük basamaklar için olmuyor.

    GMP kütüphanesine bakabilirsin http://gmplib.org/ . Bunlar la baya çıkabilirsin.


    veya

    unsigned long long int = uint64_t kadardır yani 8byte.

    unsigned long long int = 18446744073709551615ULL; kadar rakama çıkabilirsin.

    veya kendin yazıcaksın. Carry Flag sanırım duymussundur. Buna benzer davranişta bira kod yazabilirsin.



    quote:




    struct my_uint128_t {
    unsigned long hi;
    unsigned long lo;
    };

    my_uint128_t increment128_3(my_uint128_t x)
    {
    const unsigned long hiAdd=0x0000062DE49B5241;
    const unsigned long loAdd=0x85DC198BCDD714BA;

    x.lo += loAdd;
    x.hi += hiAdd + (x.lo < loAdd); <-- Burası carry flag işlemi oluyor. Eğer x.hi limiti aşarsa 3 ve ya 4 lü structlar kullanıcaksın.
    return x;
    }



    Mesela,

     
    /* Aslında 257_t çünkü toplama fonsiyonunda last_caryy 1 veya 0 olabilir. */
    struct my_uint264_t {
    uint64_t hhi;
    uint64_t hlo;
    uint64_t hi;
    uint64_t lo;
    uint8_t last_carry;
    };

    my_uint264_t increment264(my_uint264_t x)
    {
    const uint64_t hhiAdd=0x0000062DE49B5241;
    const uint64_t hloAdd=0x85DC198BCDD714BA;
    const uint64_t hiAdd=0x0000062DE49B5241;
    const uint64_t loAdd=0x85DC198BCDD714BA;

    x.lo += loAdd;
    x.hi += hiAdd + (x.lo < loAdd);
    x.hlo += hloAdd + (x.hi < hiAdd);
    x.hhi += hhiAdd + (x.hlo < hloAdd);
    x.last_carry = (x.hhi < hhiAdd);
    return x;
    }

    .
    .
    .
    cout << "Toplam sonuc : " << x.last_carry << x.hhi << x.hlo << x.hi << x.lo << endl;



    Ayrıca linki okursan gcc'nin direl uint128_t desteği varmiş. Sanırım bu microsoft compiler için de varmış.

    veya string yoluyla bu işi yapmış biri var.

    ideamonk.blogspot.com
    IdeaMonk: Adding large numbers in C++
    http://ideamonk.blogspot.com/2008/10/adding-large-numbers-in-c.html



    < Bu mesaj bu kişi tarafından değiştirildi garui -- 12 Ekim 2012; 2:57:29 >




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