folder Tahribat.com Forumları
linefolder C - C++
linefolder Paskal Üçgeni Algoritması(Yardım)



Paskal Üçgeni Algoritması(Yardım)

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    wasd
    wasd's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    #include
    int main()
    {
        int i,j,n=1453,A[10000][10000];
        for(i=1;i<=n;i++)
            for(j=1;j<=n;j++)
            {
                if(j==1||i==j)
                    A[i][j]=1;
                else
                    A[i][j]=A[i-1][j-1]+A[i-1][j];
            }
        for(j=1;j<=n;j++)
            printf("A[%d][%d]: %d",n,j,A[n][j]);
    }

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

    Şu şekilde yazdım kodu,derlerken falan hata yok ancak çalışmaya başladığı anda hata verip kapanıyo. C#tada denedim aynı mantığı onda çalıştı ama satırı tamamen yazdırmadı,yazdırdığı değerlerde de taşma sorunu vardı sanırım.

    Benden istenen şey paskal üçgenini oluşturmam ve 1453. satırını bulmam.

    Akış diyagramı istiyo hoca millet kodlama bilmediği için,ben de ödevi daha istekli yapabilmek için koddan başlamayı seçtim :) matematiksel olarak kurduğum mantık doğrumudur? Yani kodlamada hata alınca acaba kurduğum mantıktamı sorun var diye düşündüğüm için açtım bu konuyu.

    EDİT: verdiği hata stack overflow. Bu taşmayı nasıl önleyebilirim?


    :)
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    mescarine
    mescarine's avatar
    Kayıt Tarihi: 13/Eylül/2007
    Erkek
    Vallahi gecenin şu saatinde pascal ucgeni neymis ne değilmiş bilmem. lakin gordugumu soyleyim: "#include" NE? neyi include ediyorsun hangi libraryi? "#include stdio.h" mi conio.h mi... son değer nereye gidecek? "getche();" yada "return 0;" ile programi kapatmanın gerek.

    YGS: Yeni Gelin Sınavı.. Bir heyecan, bir arzu, bir istek.. Biraz hüzün, biraz acı, biraz gözyaşı..
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    wasd
    wasd's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    Burda çıkmamış ama stdio.h include ettim. Geri bi değer döndürmesi gerekmediği için void olarak tanımlamayıda denedim main fonksiyonunu,int olarak tanımladığımda return 0la durdurmayıda denedim ama hata aldım.


    :)
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SinusX
    SinusX's avatar
    Kayıt Tarihi: 14/Aralık/2010
    Erkek

    integer yerine double kullan muhtemelen tasmayi orda yapiyor


    Si vis pacem para bellum.
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    wasd
    wasd's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    Doublela alakası olacağını sanmıyorum,kodun yaptığı şey matrisin ilk sütununu ve köşegenini 1 değeriyle doldurmak,ara kısımlarıda bir üstündeki ve bir üstündeki elemanın solundaki elemanın toplamı olarak doldurmak. Yani matris

    1

    1 1

    1 2 1

    1 3 3 1

    1 4 6 4 1

    şeklinde 1453 satırdan oluşacak ve 1453. satırı ekrana yazdıracak. Double değişken bişeyi değiştirmez,kodlar zaten sadece tamsayılar üzerinde toplama yapıyor.


    :)
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SARI
    SARI's avatar
    Banlanmış Üye
    Kayıt Tarihi: 29/Eylül/2009
    Erkek

    wasd ben hallettim galiba şimdi düşa girecem sonra cafeye atlayacam sana kodları yazdıktan sonra pm atarım bakarsın biraz kasıntı gibi ama oldu gibi..


    Ban Sebebi : Molrada Haarket Eiğtti için Bdnlaanı... Türkçe öğretmenliği okuyan arkadaşım sana ders verebilir admin arkadaş :)
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    ltcelik
    ltcelik's avatar
    Kayıt Tarihi: 11/Mayıs/2007
    Erkek

    1.Önce ya bir akış diyagramı ya da algoritma oluştur ki programın tasarımnda mı hata yaptın kodlamasında mı onu gör..

    2. matris yerine diz kullansan daha iyi olmaz mıydı?


    Din Kitaplarını Okuyup Anlayana Ateist, Okuyup Anlamayanlara "dindar" denir... Nikola TESLA.. ben mi? Ne okurum ne anlarım... Kendi kendime de uyuz oluyorum ama olamıyorum.. "Ama efsaneyi çıkarıp atarsan ve yaptıkları eylemlere bakarsan... ..Jedi'ların mirası başarısızlıktır. İkiyüzlülüktür, kibirdir."
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    wasd
    wasd's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    ltcelik bunu yazdı:
    -----------------------------
     

    1.Önce ya bir akış diyagramı ya da algoritma oluştur ki programın tasarımnda mı hata yaptın kodlamasında mı onu gör..

    2. matris yerine diz kullansan daha iyi olmaz mıydı?


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

     

     

    1) Zaten hoca akış diyagramı istiyo bizden ama kodlama daha zevkli olduğu için ben önce kodu yazıp sonra akış diyagramını çıkartayım dedim :)

    2) pascal üçgeni yukarıdan aşağıya doğru genişleyen ve elemanları birbirleriyle bağlantılı bişey olduğu için haliyle 1453. satır elemanlarını bulabilmek için ilk elemandan başlayıp aşağıya doğru gitmem gerekiyor. Şöyle bi düşündümde matematiksel formül uymaz sanırım diziye,matriste her A[i][j] elemanı A[i-1][j-1] ve A[i-1][j] elemanlarının toplamından oluşuyo,dizide bunu yapmak zor hatta imkansız olabilir.

    @sarı: Derleyip denedinmi la kodları?


    :)
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    ltcelik
    ltcelik's avatar
    Kayıt Tarihi: 11/Mayıs/2007
    Erkek
    wasd bunu yazdı:
    -----------------------------

    ltcelik bunu yazdı:
    -----------------------------
     

    1.Önce ya bir akış diyagramı ya da algoritma oluştur ki programın tasarımnda mı hata yaptın kodlamasında mı onu gör..

    2. matris yerine diz kullansan daha iyi olmaz mıydı?


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

     

     

    1) Zaten hoca akış diyagramı istiyo bizden ama kodlama daha zevkli olduğu için ben önce kodu yazıp sonra akış diyagramını çıkartayım dedim :)

    2) pascal üçgeni yukarıdan aşağıya doğru genişleyen ve elemanları birbirleriyle bağlantılı bişey olduğu için haliyle 1453. satır elemanlarını bulabilmek için ilk elemandan başlayıp aşağıya doğru gitmem gerekiyor. Şöyle bi düşündümde matematiksel formül uymaz sanırım diziye,matriste her A[i][j] elemanı A[i-1][j-1] ve A[i-1][j] elemanlarının toplamından oluşuyo,dizide bunu yapmak zor hatta imkansız olabilir.

    @sarı: Derleyip denedinmi la kodları?


    -----------------------------
    evet diz ile biraz zor olur sanırım.. :)) üçgeni inceledikten sonra anladım :)))

    Din Kitaplarını Okuyup Anlayana Ateist, Okuyup Anlamayanlara "dindar" denir... Nikola TESLA.. ben mi? Ne okurum ne anlarım... Kendi kendime de uyuz oluyorum ama olamıyorum.. "Ama efsaneyi çıkarıp atarsan ve yaptıkları eylemlere bakarsan... ..Jedi'ların mirası başarısızlıktır. İkiyüzlülüktür, kibirdir."
  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    mstraker
    mstraker's avatar
    Kayıt Tarihi: 11/Haziran/2007
    Erkek

    Hocam bu soru projecteuler de vardı sanırım

    Akşam bakayım tekrar şimdi işten çıkıyorum bulabilirsem atarım orada çok orjinal çözümler oluyor


    what makes you think i am not?
  11. KısayolKısayol reportŞikayet pmÖzel Mesaj
    ltcelik
    ltcelik's avatar
    Kayıt Tarihi: 11/Mayıs/2007
    Erkek

    aslında dizi ile de basitçe olur da

    iki dizi tanımlanır birisi kaynak dizi , ikincisi hesaplanan dizi diye.. kaynak dizi sayesinde hesaplanan dizi tamamen oluşturulduktan sonra, hesaplanan dizi kaynak diziye atanır.. böyleleikle hafızadan tasarruf edilir... son iki dizi hafızada kalır sadece..


    Din Kitaplarını Okuyup Anlayana Ateist, Okuyup Anlamayanlara "dindar" denir... Nikola TESLA.. ben mi? Ne okurum ne anlarım... Kendi kendime de uyuz oluyorum ama olamıyorum.. "Ama efsaneyi çıkarıp atarsan ve yaptıkları eylemlere bakarsan... ..Jedi'ların mirası başarısızlıktır. İkiyüzlülüktür, kibirdir."
Toplam Hit: 6391 Toplam Mesaj: 13