folder Tahribat.com Forumları
linefolder C - C++
linefolder C++ Sorularım ( Başlangıç Seviyesi )



C++ Sorularım ( Başlangıç Seviyesi )

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    nick6
    0x656e
    0x656e's avatar
    Kayıt Tarihi: 19/Mayıs/2012
    Homo
    noname bunu yazdı

    Hepinize cevaplar için çok teşekkür ederim. Videolu/pdfli vs. her türlü kaynak tavsiyenize de açığım bu arada.

    Matematik üzerine bir şeyler yaparken p,x,y,z gibi değişkenler tanımlayıp bazı basit işlemler yaptırıyoruz. Kimi zaman

    "float x=0, y=0;"

    şeklinde tanımlarken kimi zaman ise

    "int p=0;" şeklinde giriyoruz.

    Bu int ve float ın olayı/farkı nedir? Başka çeşitleri de var mı?

     

    veri yapılarına bakabilirsin kısaca hocam.yamulmuyorsam int 4 byte ve düz integerlardan(tam sayı )  oluşuyor , float ise 8 byte ve virgüllülerden yani ondalıklı sayılardan

  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    YeniHarman
    YeniHarman's avatar
    Kayıt Tarihi: 17/Haziran/2012
    Erkek

    C ve C++'da veri tiplerinin boyutları kesin değil, platforma göre değişiyor. Örneğin int 4 byte da olabilir 2 byte da. Standart şunu söyler: char <= short <= int <= long der, gerisine karışmaz. sizeof işleciyle tipin büyüklüğünü görebilirsiniz. Bu yüzden aralıklara güvenmeyin, sınırlar için max ve min makrolarını kullanın: http://www.cplusplus.com/reference/climits/ Zaten align falan uğraşmıyorsanız bilmeniz gereken sınırlardır, tiplerin bellekte kapladığı alan değil:)

     

     

    YeniHarman tarafından 09/Kas/15 23:34 tarihinde düzenlenmiştir

    Olaylara karışmayın!
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    noname
    noname's avatar
    Kayıt Tarihi: 23/Ağustos/2005
    Erkek

    3 saat içerisinde yetiştirmem gereken dört tane alıştırma ödevi var, bunlardan ilkiyle uğraşıyorum şuan ancak compile ederken hata verip duruyor. İşin içinden çıkamadım.

    Umarım göz gezdirip yardım edebilecek birileri vardır..

    #include 
    #include 
    #include 
    #include 
    #include 
    
    using std::cout;
    using std::endl;
    
    template
    void to_bin(T v)
    {
      union
      {
          T value;
          unsigned char bytes[sizeof(T)];
      };
      memset(&bytes, 0, sizeof(T));
      value=v;
      // assumes little endian machine 
      for (size_t i = sizeof(T);i>0;i--)
      {
        unsigned char pot=128;
        for (int j = 7;j>=0;j--,pot/=2) 
          if (bytes[i-1]&pot) 
            cout << "1";
          else 
            cout << "0";
        cout << " ";
      }
      cout << endl;
    }
    
    
    
    
    int main() {
    
    
    cout <<" Binaerdarstellungen von -2, -1, 0, 42, INT_MAX und INT_MAX+1 als Int: " << endl;
    int p_i=-2,q_i=-1,r_i=0,s_i=42,t_i=INT_MAX,u_i=INT_MAX+1;
    
    cout << "Fuer -2: ";
    to_bin(p_i);
    cout << endl;
    
    cout << "Fuer -1: ";
    to_bin(q_i);
    cout << endl;
    
    cout << "Fuer 0: ";
    to_bin(r_i);
    cout << endl;
    
    cout << "Fuer 42: ";
    to_bin(s_i);
    cout << endl;
    
    cout << "Fuer INT_MAX: ";
    to_bin(t_i);
    
    cout << "Fuer INT_MAX+1: ";
    to_bin(u_i);
    cout << endl;
    
    cout << endl << "Binaerdarstellungen von -2.0, 1.0, 0.0, 42.0, FLT_MAX, FLT_MAX+1 als float: " << endl;
    float p_f = -2.0, q_f= -1.0,r_f=0.0,s_f=42.0,t_f=FLT_MAX,u_f=FLT_MAX+1 ;
    
    cout << "Fuer -2.0: ";
    to_bin(p_f);
    cout << endl;
    
    cout << "Fuer -1.0: ";
    to_bin(q_f);
    cout << endl;
    
    cout << "Fuer 0.0: ";
    to_bin(r_f);
    cout << endl;
    
    cout << "Fuer 42.0: ";
    to_bin(s_f);
    cout << endl;
    
    cout << "Fuer FLT_MAX: ";
    to_bin(t_f);
    cout << endl;
    
    cout << "Fuer FLT_MAX+1: ";
    to_bin(u_f);
    cout << endl;
    
    cout << endl << "Binaerdarstellungen von -2.0, 1.0, 0.0, 42.0, DBL_MAX, DBL_MAX+1 als double: " << endl;
    double p_d = -2.0, q_d=-1.0,r_d=0.0,s_d=42.0,t_d=DBL_MAX,u_d=DBL_MAX+1 ;
    
    cout << "Fuer -2.0: ";
    to_bin(p_d);
    cout << endl;
    
    cout << "Fuer -1.0: ";
    to_bin(q_d);
    cout << endl;
    
    cout << "Fuer 0.0: ";
    to_bin(r_d);
    cout << endl;
    
    cout << "Fuer 42.0: ";
    to_bin(s_d);
    cout << endl;
    
    cout << "Fuer DBL_MAX: ";
    to_bin(t_d);
    cout << endl;
    
    cout << "Fuer DBL_MAX+1: ";
    to_bin(u_d);
    cout << endl;
    
    
    cout << endl << "Groesse von Integer Variablen: ";
    cout << sizeof(p_i) << endl;
    
    cout << "Groesse von Gleitkomma Variablen mit einfacher Genauigkeit: ";
    cout << sizeof(p_f) << endl;
    
    cout << "Groesse von Gleitkomma Variablen mit doppelter Genauigkeit: ";
    cout << sizeof(p_d) << endl;
    
    
    
    
    return 0;
    }

     

     

     

    x@cluster:~/x_Programmierung_WS1516/uebung3[496]$ g++ -Wall -Werror -o aufgabe1 auff1.cpp
    cc1plus: warnings being treated as errors
    auff1.cpp: In function 'int main()':
    auff1.cpp:41: error: integer overflow in expression
    auff1.cpp: In function 'void to_bin(T) [with T = int]':
    auff1.cpp:44:   instantiated from here
    auff1.cpp:17: error: unused variable 'value'
    auff1.cpp:17: error: unused variable 'bytes'
    auff1.cpp: In function 'void to_bin(T) [with T = float]':
    auff1.cpp:70:   instantiated from here
    auff1.cpp:17: error: unused variable 'value'
    auff1.cpp:17: error: unused variable 'bytes'
    auff1.cpp: In function 'void to_bin(T) [with T = double]':
    auff1.cpp:97:   instantiated from here
    auff1.cpp:17: error: unused variable 'value'
    auff1.cpp:17: error: unused variable 'bytes'
    

     

    noname tarafından 15/Kas/15 21:02 tarihinde düzenlenmiştir

    ...said addicted.
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    nick6
    0x656e
    0x656e's avatar
    Kayıt Tarihi: 19/Mayıs/2012
    Homo

    #include "stdout.h"
    nerde hocam :D

    stdio.h mıydı neydi işte c++ bilmiyorum

     

    0x656e tarafından 15/Kas/15 21:26 tarihinde düzenlenmiştir
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    GodKlaus
    GodKlaus's avatar
    Kayıt Tarihi: 13/Ocak/2014
    Erkek
    0x656e bunu yazdı

    #include "stdout.h"
    nerde hocam :D

    stdio.h mıydı neydi işte c++ bilmiyorum

     

    Aynen nerde o :D

    noname eğer unuttuysan yazmayı bence git bi balkona çık 2 3 tokat at kendine gel :)

     


    Telegram : @CuneytKuscu && Discord : Tyenuc#2679 | İstanbul Avr. Yazılım Mühendisi ve sonunda işim var (:
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    iKlotho
    iKlotho's avatar
    Kayıt Tarihi: 06/Haziran/2015
    Erkek

    template
    void to_bin(T v)

    yerine


    template <typename T>
    void to_bin(T v)

    olacak sanırım.


    Too weird to live, too rare to die.
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    noname
    noname's avatar
    Kayıt Tarihi: 23/Ağustos/2005
    Erkek

    include'lar eksik kopyalanmış ya :)

    Tekrar atıyorum kodu, direk metin olarak;

     

    #include <cstring>

    #include <iostream>

    #include <climits>

    #include <cfloat>

    #include <cmath>

     

    using std::cout;

    using std::endl;

     

    template<class T>

    void to_bin(T v)

    {

      union

      {

          T value;

          unsigned char bytes[sizeof(T)];

      };

      memset(&bytes, 0, sizeof(T));

      value=v;

      // assumes little endian machine 

      for (size_t i = sizeof(T);i>0;i--)

      {

        unsigned char pot=128;

        for (int j = 7;j>=0;j--,pot/=2) 

          if (bytes[i-1]&pot) 

            cout << "1";

          else 

            cout << "0";

        cout << " ";

      }

      cout << endl;

    }

     

     

     

     

    int main() {

     

     

    cout <<" Binaerdarstellungen von -2, -1, 0, 42, INT_MAX und INT_MAX+1 als Int: " << endl;

    int p_i=-2,q_i=-1,r_i=0,s_i=42,t_i=INT_MAX,u_i=INT_MAX+1;

     

    cout << "Fuer -2: ";

    to_bin(p_i);

    cout << endl;

     

    cout << "Fuer -1: ";

    to_bin(q_i);

    cout << endl;

     

    cout << "Fuer 0: ";

    to_bin(r_i);

    cout << endl;

     

    cout << "Fuer 42: ";

    to_bin(s_i);

    cout << endl;

     

    cout << "Fuer INT_MAX: ";

    to_bin(t_i);

     

    cout << "Fuer INT_MAX+1: ";

    to_bin(u_i);

    cout << endl;

     

    cout << endl << "Binaerdarstellungen von -2.0, 1.0, 0.0, 42.0, FLT_MAX, FLT_MAX+1 als float: " << endl;

    float p_f = -2.0, q_f= -1.0,r_f=0.0,s_f=42.0,t_f=FLT_MAX,u_f=FLT_MAX+1 ;

     

    cout << "Fuer -2.0: ";

    to_bin(p_f);

    cout << endl;

     

    cout << "Fuer -1.0: ";

    to_bin(q_f);

    cout << endl;

     

    cout << "Fuer 0.0: ";

    to_bin(r_f);

    cout << endl;

     

    cout << "Fuer 42.0: ";

    to_bin(s_f);

    cout << endl;

     

    cout << "Fuer FLT_MAX: ";

    to_bin(t_f);

    cout << endl;

     

    cout << "Fuer FLT_MAX+1: ";

    to_bin(u_f);

    cout << endl;

     

    cout << endl << "Binaerdarstellungen von -2.0, 1.0, 0.0, 42.0, DBL_MAX, DBL_MAX+1 als double: " << endl;

    double p_d = -2.0, q_d=-1.0,r_d=0.0,s_d=42.0,t_d=DBL_MAX,u_d=DBL_MAX+1 ;

     

    cout << "Fuer -2.0: ";

    to_bin(p_d);

    cout << endl;

     

    cout << "Fuer -1.0: ";

    to_bin(q_d);

    cout << endl;

     

    cout << "Fuer 0.0: ";

    to_bin(r_d);

    cout << endl;

     

    cout << "Fuer 42.0: ";

    to_bin(s_d);

    cout << endl;

     

    cout << "Fuer DBL_MAX: ";

    to_bin(t_d);

    cout << endl;

     

    cout << "Fuer DBL_MAX+1: ";

    to_bin(u_d);

    cout << endl;

     

     

    cout << endl << "Groesse von Integer Variablen: ";

    cout << sizeof(p_i) << endl;

     

    cout << "Groesse von Gleitkomma Variablen mit einfacher Genauigkeit: ";

    cout << sizeof(p_f) << endl;

     

    cout << "Groesse von Gleitkomma Variablen mit doppelter Genauigkeit: ";

    cout << sizeof(p_d) << endl;

     

     

     

     

    return 0;

    }

     


    ...said addicted.
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    noname
    noname's avatar
    Kayıt Tarihi: 23/Ağustos/2005
    Erkek
    iKlotho bunu yazdı

    template
    void to_bin(T v)

    yerine


    template
    void to_bin(T v)

    olacak sanırım.

    template

    void to_bin(T v)

     

    şeklinde kodda hocam, o da eksik kopyalanmış..

    Şimdi senin dediğin şekilde de deniyorum tekrar

    edit: malesef

    noname tarafından 15/Kas/15 21:39 tarihinde düzenlenmiştir

    ...said addicted.
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Zork.
    torpedo_XL
    torpedo_XL's avatar
    Kayıt Tarihi: 21/Ağustos/2005
    Erkek

    Bana biraz ezbere gidiyorsun gibi geldi. Şimdi daha veri tiplerini genel syntaxı bilmeden(veya öğretmeden) size nasıl kod yazdırıyorlar anlamadım. Çünkü daha programlamanın en temel düzeyinde eksiğin var.

    Böyle programlama öğrenilmez.

    Sana tavsiyem önce güzel bir c++ anlatan kitap edin (işin uzmanları önersin c++ a hakim değilim), oradan temel veri tipleri, akış diagramı, syntaxı özümse. Daha sonra döngüler ve ifadeleri kavra. Böyle böyle basmaak basamak gidersen anca öğrenirsin. Yoksa 1-2 tutoriala bakıp langırts diye kod yazmaya kalkarsan hiçbir bok öğrenemezsin.


    Bilge insanlar konuşurlar çünkü söyleyecek bir şeyleri vardır. Aptal insanlar konuşurlar çünkü bir şey söylemek zorundadırlar. Demokrasi, bir eğitim işidir. Eğitimsiz kitlelerle demokrasiye geçilirse oligarşi olur. Devam edilirse demagoglar türer. Demagoglardan da diktatörler çıkar. --Platon, Devlet                                                                                                                                                                                                                                                                                                                                                                                         
  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    noname
    noname's avatar
    Kayıt Tarihi: 23/Ağustos/2005
    Erkek
    torpedo_XL bunu yazdı

    Bana biraz ezbere gidiyorsun gibi geldi. Şimdi daha veri tiplerini genel syntaxı bilmeden(veya öğretmeden) size nasıl kod yazdırıyorlar anlamadım. Çünkü daha programlamanın en temel düzeyinde eksiğin var.

    Böyle programlama öğrenilmez.

    Sana tavsiyem önce güzel bir c++ anlatan kitap edin (işin uzmanları önersin c++ a hakim değilim), oradan temel veri tipleri, akış diagramı, syntaxı özümse. Daha sonra döngüler ve ifadeleri kavra. Böyle böyle basmaak basamak gidersen anca öğrenirsin. Yoksa 1-2 tutoriala bakıp langırts diye kod yazmaya kalkarsan hiçbir bok öğrenemezsin.

    Valla hocam çok haklısın evet, zaten daha 3 haftadır ders alıyoruz, kodların bir kısmı hazırdı, düzenlememiz gereken kısmını elimden geldiğince yaptım, bir iki arkadaşın da yardımıyla bu hale getirdim ama compile edip uploada yetişemezsem sınava giremeyeceğim, malesef ki zorunlu ödev..


    ...said addicted.
Toplam Hit: 6610 Toplam Mesaj: 29
c++ programlama başlangıç sorular giriş cpp