Şimdi Ara

C++ Egzersizleri

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
25
Cevap
0
Favori
2.625
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 12
Sayfaya Git
Git
sonraki
Giriş
Mesaj
  • Arkadaşlar C++ ile ilgili çoğu şeyi konu olarak anlamış durumdayım. Fakat şimdi işin en zor tarafı olan kullanma kısmı var. Kullanmak için uygulamaları deşebilirdim fakat Konsol tabanlı applicaitonlarla ilgili birkaç egzersiz istiyorum. Lütfen basit işte sayı tutma oyunu gibi şeyler olmasın. Elbette bir Snake, Pong vs. yazaibleceğimi de sanmıyorum. Şimdilik sadece kullanıcının klavyesinden alınan değerler ile işlem yapılacak, Text Based bir proje, egzersiz önerisi istiyorum. Yapıp yapamayacağımı test ederek kendimi de test etmiş olucam. Ayrıca bu başlığı kolaydan zora egzersizlerle donatabileceğimizi düşünüyorum. Sonuçta buraya giren çoğu yeni programcı " Ya ben ne programlıyayım ? " diye düşünüyor. Böyle bir konu ile yardımcı olabileceğimizi düşündüm. Şimdilik kolay şeyleri yazıcam. Lütfen orta ve zor application örneklerini de buraya skoylu ve amone gibi bilgili arkadaşlar da eklerse, sonuçta bizlere yardım etmiş olurlar ve biz de kendimizi geliştirmiş oluruz. Önlerinde saygıyla eğiliyorum benden bilgili olan abilerimin, ablalarımın. Şimdi konuya geçelim =)



    Kolay Programlar ;
    Hesap Makinası ( 4 İşlem Barındıran )

    Sayı Oyunu -
    Bilgisayar 100 ila 0 arası rastgele bir sayı tutar. Kullanıcı bunu bilmeye çalışır. Eğer bilirse kaç bilişte bildiğini yazar. Skor ekler ve tekrar oynayıp oynamak istemediğini sorar. Cevaba göre sonucu verir. Bu programda önemli olan devamlı bir skor tutabilmek ve kullanıcının tek seferde bilmesi gibi en küçük detayları öğrenmek, programlama mantığını geliştirmek amaçtır...







  • 3x3 lük bir dizi üzerinde tic-tac-toe oyunu yapabilirsin mesela. Programın kullanıcıyı devamlı yenmesi nispeten kolaydır. Esas zorluk programın insan gibi oynamasını sağlamak. Ara sıra yenilecek yani. Bu da ancak yapay zeka ile mümkün.
  • quote:

    Orijinalden alıntı: Guest-2D6B32B7D

    Bu mesaj silindi.

    Alıntıları Göster
    Deitel C++ how to program 3.baskı soru 8.19



    < Bu mesaj bu kişi tarafından değiştirildi drexel -- 24 Nisan 2010; 12:09:02 >
  • quote:

    Orijinalden alıntı: drexel

    Deitel C++ how to program 3.baskı soru 8.19

    Evet o kitapta zilyon tane uygulama var. Aklına yapacak şey gelmeyenlere tavsiye ederim. Adamlar derleyici yazdırıyorlar ödev olarak.
  • quote:

    Orijinalden alıntı: Guest-BF8E9B238

    quote:

    Orijinalden alıntı: drexel

    Deitel C++ how to program 3.baskı soru 8.19

    Evet o kitapta zilyon tane uygulama var. Aklına yapacak şey gelmeyenlere tavsiye ederim. Adamlar derleyici yazdırıyorlar ödev olarak.

    Alıntıları Göster
    Deitel C ve C++ var ama daha 1 kere açtım. Renksiz kitapları açasım gelmiyor.




  • quote:

    Orijinalden alıntı: Reinhardt

    Deitel C ve C++ var ama daha 1 kere açtım. Renksiz kitapları açasım gelmiyor.

    Alıntıları Göster
    Renkli programlama kitabı damı varmış? Böööğğğğhhh. Bi halta yaramaz o.
  • quote:

    Orijinalden alıntı: Guest-BF8E9B238

    Renkli programlama kitabı damı varmış? Böööğğğğhhh. Bi halta yaramaz o.

    Alıntıları Göster
    Sende bir derleyici yaz. Tamam olmasa bile bir sürü şeyi öğrenmene faydalı bir egzersiz olur.

    Ama bunu burun kıvıracaksan, o zaman şunu yap derim.

    scanf, printf fonksiyonlarını kendin yazmayı bir dene. scanf yerine kullanılabilecek, özel bir tuşa, (ESC, ENTER, F1, Ok tuşları vs.) basınca geri dönecek, sadece istenen değerleri kabul edebilen (mesela sadece sayı alacak) uzunluk vs. limiti olan bir fonksiyon. Sonra bunu kullanırsın gerektikçe.




  • quote:

    Orijinalden alıntı: skoylu

    Sende bir derleyici yaz. Tamam olmasa bile bir sürü şeyi öğrenmene faydalı bir egzersiz olur.

    Ama bunu burun kıvıracaksan, o zaman şunu yap derim.

    scanf, printf fonksiyonlarını kendin yazmayı bir dene. scanf yerine kullanılabilecek, özel bir tuşa, (ESC, ENTER, F1, Ok tuşları vs.) basınca geri dönecek, sadece istenen değerleri kabul edebilen (mesela sadece sayı alacak) uzunluk vs. limiti olan bir fonksiyon. Sonra bunu kullanırsın gerektikçe.

    Alıntıları Göster
    çok basamaklı sayıları toplayıp çarpacak bir program yaz.
    çok basamaklı sayı öyle int'e long'a sığacak bir değer değil. 50-60 basamaklı falan olacak. işlem yapacağın sayıları kütükten okursun, sonucu daister kütüğe ister ekrana yazarsın.
    güzel bir pointer ve veri yapısı egzersizi olur.




  • quote:

    Orijinalden alıntı: singleton

    çok basamaklı sayıları toplayıp çarpacak bir program yaz.
    çok basamaklı sayı öyle int'e long'a sığacak bir değer değil. 50-60 basamaklı falan olacak. işlem yapacağın sayıları kütükten okursun, sonucu daister kütüğe ister ekrana yazarsın.
    güzel bir pointer ve veri yapısı egzersizi olur.

    Alıntıları Göster
    Deitel'deki sorular çok iyidir çözebilirsin.
  • quote:

    Orijinalden alıntı: fenerista

    Deitel'deki sorular çok iyidir çözebilirsin.

    Alıntıları Göster
    Hatta bende onun çözümleri var tıkandığın yerde söylersin atarız çözümlerini. Bu arada deitel'in e-book u renksiz değil gayet renkli. Sendekiler fotokopidir büyük ihtimalle.
  • quote:

    Orijinalden alıntı: DayLight66

    çok basamaklı sayıları toplayıp çarpacak bir program yaz.
    çok basamaklı sayı öyle int'e long'a sığacak bir değer değil. 50-60 basamaklı falan olacak. işlem yapacağın sayıları kütükten okursun, sonucu daister kütüğe ister ekrana yazarsın.
    güzel bir pointer ve veri yapısı egzersizi olur.



    İyi bir egzersiz olacağı kesin. Velakin...

    Biraz matematikçi olmayı bırakıp bilgisayarcı olmaya çalışırsanız daha faydalı olur gibime geliyor. Tırlak ve asosyal matematikçilerin mastürbasyonları ile vakit kaybetmektense, dili, bilgisayarı, I/O'yu vs. tanıyacak şeylerle uğraşmak daha verimli olacaktır. En azından ben öyle düşünüyorum.

    Gidip böyle asal sayıları bul, yok sayıları çarp olmadı bilmem kaç sayının okekin bul gibi gereksiz ve kafa ütüleyen şeyler yapmaktansa, mesela çay pişirecek bir kod yazmak, emin olun ki size çok daha faydalı olacaktır.



    < Bu mesaj bu kişi tarafından değiştirildi skoylu -- 24 Nisan 2010; 13:06:02 >




  • quote:

    Orijinalden alıntı: skoylu

    quote:

    Orijinalden alıntı: DayLight66

    çok basamaklı sayıları toplayıp çarpacak bir program yaz.
    çok basamaklı sayı öyle int'e long'a sığacak bir değer değil. 50-60 basamaklı falan olacak. işlem yapacağın sayıları kütükten okursun, sonucu daister kütüğe ister ekrana yazarsın.
    güzel bir pointer ve veri yapısı egzersizi olur.



    İyi bir egzersiz olacağı kesin. Velakin...

    Biraz matematikçi olmayı bırakıp bilgisayarcı olmaya çalışırsanız daha faydalı olur gibime geliyor. Tırlak ve asosyal matematikçilerin mastürbasyonları ile vakit kaybetmektense, dili, bilgisayarı, I/O'yu vs. tanıyacak şeylerle uğraşmak daha verimli olacaktır. En azından ben öyle düşünüyorum.

    Gidip böyle asal sayıları bul, yok sayıları çarp olmadı bilmem kaç sayının okekin bul gibi gereksiz ve kafa ütüleyen şeyler yapmaktansa, mesela çay pişirecek bir kod yazmak, emin olun ki size çok daha faydalı olacaktır.




    skoylu biraz ağır konuşmuşsun ama dediklerinede katılmıyor değilim Bir elektronik mühendisi olarak programlamada hep bu işlerle uğraştık yok kompleks sayı programı yok polinom program yok matris programı vs... sonuçta elimize geçen ne oldu? Bilgisayarla bir çay bile demletemiyoruz




  • quote:

    Orijinalden alıntı: skoylu

    İyi bir egzersiz olacağı kesin. Velakin...

    Biraz matematikçi olmayı bırakıp bilgisayarcı olmaya çalışırsanız daha faydalı olur gibime geliyor. Tırlak ve asosyal matematikçilerin mastürbasyonları ile vakit kaybetmektense, dili, bilgisayarı, I/O'yu vs. tanıyacak şeylerle uğraşmak daha verimli olacaktır. En azından ben öyle düşünüyorum.




    ben bu problemde matematikten ziyade pointer ve dynamic memory allocation işlemleri görüyorum. dili daha nasıl tanısın.
  • quote:

    Orijinalden alıntı: singleton

    quote:

    Orijinalden alıntı: skoylu

    İyi bir egzersiz olacağı kesin. Velakin...

    Biraz matematikçi olmayı bırakıp bilgisayarcı olmaya çalışırsanız daha faydalı olur gibime geliyor. Tırlak ve asosyal matematikçilerin mastürbasyonları ile vakit kaybetmektense, dili, bilgisayarı, I/O'yu vs. tanıyacak şeylerle uğraşmak daha verimli olacaktır. En azından ben öyle düşünüyorum.




    ben bu problemde matematikten ziyade pointer ve dynamic memory allocation işlemleri görüyorum. dili daha nasıl tanısın.

    Alıntıları Göster
    Sevgili DayLigth, bilmiyorum aynı problemden mi bahsediyorum ama, o problemde C'nin özüne dair pek bir şey yok. Dinamik bellek ayırma vs. dahil.

    Olsada farketmez. Bilgisayar programlama aslen bir matematik mevzusudur. Evet, bu kesin. Bir program aslen bir formülden, polinomdan, fonksiyondan, konvolüsyondan filan ibarettir. Velakin bilgisayar işinde asıl mesele, gerçek hayattan o formülü okuyabilmektir. Siz kişiye formülü veriyorsanız, onu asıl zorlayacak olan kavramı hiç bir zaman talim edememesine neden olursunuz.




  • quote:

    Orijinalden alıntı: skoylu

    Sevgili DayLigth, bilmiyorum aynı problemden mi bahsediyorum ama, o problemde C'nin özüne dair pek bir şey yok. Dinamik bellek ayırma vs. dahil.

    Olsada farketmez. Bilgisayar programlama aslen bir matematik mevzusudur. Evet, bu kesin. Bir program aslen bir formülden, polinomdan, fonksiyondan, konvolüsyondan filan ibarettir. Velakin bilgisayar işinde asıl mesele, gerçek hayattan o formülü okuyabilmektir. Siz kişiye formülü veriyorsanız, onu asıl zorlayacak olan kavramı hiç bir zaman talim edememesine neden olursunuz.

    Alıntıları Göster
    Kullandığımız bütün algoritmaların aşağı yukarı matematiksel bir karşılığı vardır. Bir problemi matematiksel olarak modelledikten sonra uygulamaya dönüştürmek kolaydır.
    Bu konu yaptığımız en büyük yanlışlardan biri bence. Sayfalar dolusu "hangi dil" mevzusunu tartışmak yerine matematik, veri yapıları ve dilden bağımsız algoritma konularına ağırlık verseydik durumumuz çok başka olurdu. En azından ülkemizdeki programcıların %95 i internet ve veritabanı programcısı olmazdı.
    Şurada bir başlık açıp while döngüsünün bilmem neresini sorsam 100 kişiden cevap gelir ama "görüntü işliyorum, arkadaki cisim öndeki ile aynı hizada görünüyor nasıl yaparım" desem kimseden çıt çıkmaz.




  • quote:

    Orijinalden alıntı: Guest-BF8E9B238

    Kullandığımız bütün algoritmaların aşağı yukarı matematiksel bir karşılığı vardır. Bir problemi matematiksel olarak modelledikten sonra uygulamaya dönüştürmek kolaydır.
    Bu konu yaptığımız en büyük yanlışlardan biri bence. Sayfalar dolusu "hangi dil" mevzusunu tartışmak yerine matematik, veri yapıları ve dilden bağımsız algoritma konularına ağırlık verseydik durumumuz çok başka olurdu. En azından ülkemizdeki programcıların %95 i internet ve veritabanı programcısı olmazdı.
    Şurada bir başlık açıp while döngüsünün bilmem neresini sorsam 100 kişiden cevap gelir ama "görüntü işliyorum, arkadaki cisim öndeki ile aynı hizada görünüyor nasıl yaparım" desem kimseden çıt çıkmaz.

    Alıntıları Göster
    quote:

    Şurada bir başlık açıp while döngüsünün bilmem neresini sorsam 100 kişiden cevap gelir ama "görüntü işliyorum, arkadaki cisim öndeki ile aynı hizada görünüyor nasıl yaparım" desem kimseden çıt çıkmaz.


    Bu kadar emin olma, en azından "bir" ses çıkacak.

    Ama bu fazla realist bir bakış. Eğer durumu genele yayarsak yerden göğe kadar, tamamen haklısın.

    Programcılıkta dil denen şey, işin %1'idir.

    Geri kalan %99'un %39'u işletim sistemi, hardware vs. bilgisini içerir. Öbür %60 ise, işte o algoritmalar, bunların sisteme (OS ve kendi yazılımımız) uyarlanması, algoritma çıkarma gibi konulardan oluşur.

    Algoritmaları anlamak için o %39'u iyi kavramak gerekir. Yoksa bunu yapamazsınız. O %39, sizin algoritmanızın asli hedefidir zira.

    Bana kalırsa, öncelikle basit bir dil, ki C yeterince basittir, sonra o %39'u öğretmeyi tercih ederim. Ama bana kalmaz.

    Fakat, bu bir yerlerde bir yanlış olduğu ve herkesin kendini programcı ilan ettiği bu ülkeden neden doğru dürüst bir yazılım çıkmadığı sorusuna bir cevap gerektiği gerçeğini değiştirmiyor.




  • quote:

    Orijinalden alıntı: skoylu

    quote:

    Şurada bir başlık açıp while döngüsünün bilmem neresini sorsam 100 kişiden cevap gelir ama "görüntü işliyorum, arkadaki cisim öndeki ile aynı hizada görünüyor nasıl yaparım" desem kimseden çıt çıkmaz.


    Bu kadar emin olma, en azından "bir" ses çıkacak.

    Ama bu fazla realist bir bakış. Eğer durumu genele yayarsak yerden göğe kadar, tamamen haklısın.

    Programcılıkta dil denen şey, işin %1'idir.

    Geri kalan %99'un %39'u işletim sistemi, hardware vs. bilgisini içerir. Öbür %60 ise, işte o algoritmalar, bunların sisteme (OS ve kendi yazılımımız) uyarlanması, algoritma çıkarma gibi konulardan oluşur.

    Algoritmaları anlamak için o %39'u iyi kavramak gerekir. Yoksa bunu yapamazsınız. O %39, sizin algoritmanızın asli hedefidir zira.

    Bana kalırsa, öncelikle basit bir dil, ki C yeterince basittir, sonra o %39'u öğretmeyi tercih ederim. Ama bana kalmaz.

    Fakat, bu bir yerlerde bir yanlış olduğu ve herkesin kendini programcı ilan ettiği bu ülkeden neden doğru dürüst bir yazılım çıkmadığı sorusuna bir cevap gerektiği gerçeğini değiştirmiyor.

    Alıntıları Göster
    Ülkemizdeki programcıları yadırgamayalım lütfen. Biraz yetersiz olabiliriz ama herkes kendini düşünür. Belki bazıları farklı düşünebilir.
    @AlperXp
    Bana kalırsa struct yapıları ile çalışman iyi olabilir. Dosyadan veri okuyarak alınan bilgileri karşılaştırırsın. Örneğin bir sınıf database' in olsun ve kullanıcı aramak istediğini ekrandan girsin. Bu sayede dosya ile de bir iletişim içine girerek, dosya pointer yapısını kavrarsın diye düşünüyorum ;)




  • quote:

    Orijinalden alıntı: saxahan

    Ülkemizdeki programcıları yadırgamayalım lütfen. Biraz yetersiz olabiliriz ama herkes kendini düşünür. Belki bazıları farklı düşünebilir.
    @AlperXp
    Bana kalırsa struct yapıları ile çalışman iyi olabilir. Dosyadan veri okuyarak alınan bilgileri karşılaştırırsın. Örneğin bir sınıf database' in olsun ve kullanıcı aramak istediğini ekrandan girsin. Bu sayede dosya ile de bir iletişim içine girerek, dosya pointer yapısını kavrarsın diye düşünüyorum ;)

    Alıntıları Göster
    Laf olsun diye bir şeyler söyleyeyim.

    Dosya belleğe sığacak kadarcıksa, gidip onu neden okuyasınız ki?

     
    fd = open(filename, filemode);
    stat(fd, &st);

    page_size = getpagesize();
    pages = st.st_size / page_size;
    if (page_size * pages) < st.st_size) pages++;
    mmap_size = pages * page_size;

    data_pointer = mmap(NULL, mmap_size, PROT_READ, MAP_SHARED, fd, 0);

    data_pointer[0].hede = 1234;
    strcpy(data_pointer[0].str_hede, "Bir string..");

    ......
    ......


    Belki bir döngü kurup okumak size daha kolaymış gibi gelebilir. Ama o bilgisayar için çok daha zahmetlidir. Ama tabi yukardaki kodu böylece kullanayım derseniz, kafa üstü çakılacaktır: PROT_READ ile haritaladınız, ama yazıyorsunuz.. Anladınız siz onu..

    Bu bilhassa config dosyası vs. gibi yalnız okunacak olan verileri almak, işlemek için çok etkili bir yoldur. Ama bazı şeylerin tek yoludur, örneğin video kartından görüntü almak gibi.

    Bu olayda, UNIX vs.ye özel değildir, Windows'ta bunu destekler ve veritabanı gibi büyük uygulamalar bu yöntemi severek uygular.




  • quote:

    Orijinalden alıntı: saxahan

    Ülkemizdeki programcıları yadırgamayalım lütfen. Biraz yetersiz olabiliriz ama herkes kendini düşünür. Belki bazıları farklı düşünebilir.


    Sakın yanlış anlaşılmasın. İğneyi önce kendime batırıyorum tabiki. Girmek istediğim konulara matematiğimin yetersizliği yüzünden giremiyorum mesela. Belki de yukarıdaki mesajımın sebebi budur.

    @Skoylu
    Örneği bir anda salladım öylesine ama dediğin gibi genele yayarsak pekte haksız sayılmam.
  • quote:

    Orijinalden alıntı: AlperXp

    Arkadaşlar C++ ile ilgili çoğu şeyi konu olarak anlamış durumdayım. Fakat şimdi işin en zor tarafı olan kullanma kısmı var. Kullanmak için uygulamaları deşebilirdim fakat Konsol tabanlı applicaitonlarla ilgili birkaç egzersiz istiyorum. Lütfen basit işte sayı tutma oyunu gibi şeyler olmasın. Elbette bir Snake, Pong vs. yazaibleceğimi de sanmıyorum. Şimdilik sadece kullanıcının klavyesinden alınan değerler ile işlem yapılacak, Text Based bir proje, egzersiz önerisi istiyorum. Yapıp yapamayacağımı test ederek kendimi de test etmiş olucam. Ayrıca bu başlığı kolaydan zora egzersizlerle donatabileceğimizi düşünüyorum. Sonuçta buraya giren çoğu yeni programcı " Ya ben ne programlıyayım ? " diye düşünüyor. Böyle bir konu ile yardımcı olabileceğimizi düşündüm. Şimdilik kolay şeyleri yazıcam. Lütfen orta ve zor application örneklerini de buraya skoylu ve amone gibi bilgili arkadaşlar da eklerse, sonuçta bizlere yardım etmiş olurlar ve biz de kendimizi geliştirmiş oluruz. Önlerinde saygıyla eğiliyorum benden bilgili olan abilerimin, ablalarımın. Şimdi konuya geçelim =)



    Kolay Programlar ;
    Hesap Makinası ( 4 İşlem Barındıran )

    Sayı Oyunu -
    Bilgisayar 100 ila 0 arası rastgele bir sayı tutar. Kullanıcı bunu bilmeye çalışır. Eğer bilirse kaç bilişte bildiğini yazar. Skor ekler ve tekrar oynayıp oynamak istemediğini sorar. Cevaba göre sonucu verir. Bu programda önemli olan devamlı bir skor tutabilmek ve kullanıcının tek seferde bilmesi gibi en küçük detayları öğrenmek, programlama mantığını geliştirmek amaçtır...



    o dediğin örnekleri toplama mevzusu (kolaydan zor a) eğer açılırsa ayrıyetten bir başlık skoylu yada elektro_gadget tarafından bende destek olurum güzel bir konu olur. soruları toplarız sıralarız.




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