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 oluşuyor, float ise 8 byte ve virgüllülerden yani ondalıklı sayılardan

Selamlar tekrar, bugün karşılaştığım "cin. ignore ;" ifadesinin ne anlama geldiğini ve hangi durumlarda kullanılması gerektiğini çzmeye çalışıyorum. Bir kaç stackoverflow vs. açıklaması okudum ancak iyice karıştı kafam. Nedir, ne değildir? nemli midir? ... said addicted.

-Hemen hemen her rnek kod diziliminin sonunda "return 0;" içerikli bir satır var. O satırı kaldırdığımda da kodun aynen çalışmaya devam ettiğini grüyorum. return 0; nedir, niçindir? Çalışan bir programı exit(main ; şeklinde düşünebilirsin, burada exit fonksiyonu programın sonlandırılmasından sorumlu fonksiyondur. Burada main fonksiyonu return 0; ifadesi ile sonlandığında, geri dnüş değeri üretilir ve bu da exit fonksiyonuna argüman olur. Exit işlemini yapan fonksiyonda bunu işletim sistemine bildirir. İşletim sistemi için programın başarılı ya da başarısız olması birşey ifade etmez, yani bu exit kodunun işletim sistemi için bir nemi yok. Bu exit kodu, programı sen başka bir program üzerinden başlattığın zaman nem kazanır. Çağrıyı gerçekleştiren program, hata veya düzgün sonlanma durumlarına gre farklı senaryolar izleyebilir. return ifadesinin yazılmamasının bir şey değiştirmemesi ise @YeniHarman'ın da sylediği gibi standartlardan kaynaklanmaktadır. rneğin C++ için A return statement in main has the effect of leaving the main function and calling std::exit with the return value as the argument. If control reaches the endof main without encountering a return statement, the effect is that of executingreturn 0; Bir program main sonuna bir return ifadesi ile karşılaşmadan ulaşır ise return 0; ifadesi yürütülecektir diyor.

compile ederken "g++ dosya. cpp" yapınca 4 kod parçasından 3ü sorunsuz çalıştı. Çalışmayan şu hatayı veriyor sadece şuan : g++ aufgabe1. cpp aufgabe1. cpp: In function 'int main ': aufgabe1. cpp:42: warning: integer overflow in expression DÜZENLEME : Sanırım benim problemimin çoğu compiler mesajlarını yanlış anlamaktan oluyor. Verdiği hatayı yoksayarak./a. out şeklinde çalıştırdığımda çalıştı kod. Sanırım halloldu ama kafam da patates oldu. Teşekkürler herkese :/ noname tarafından 15/Kas/15 22:26 tarihinde düzenlenmiştir... said addicted.

hocam nerde okuyorsun :D bende bil. müh. 1. sınıfa başladım. bize C anlatıyorlar. geçen sene yazdığım bir yazı vardı.. anlamana yardımcı olabilir sanırım. http://berkaycit.blogspot.com.tr/2014/06/c-metotlar-fonksiyonlar.html yinede bilen hocalar aydınlatırlar. bu arada assembler düşük seviyeli assembly yi derlemek için ama compiler yüksek seviyeli veya orta seviyeli diller için c, c++, c# vb. diye biliyorum. belki yanlış biliyorumdur. yanlış biliyosamda affola :D havalı bir şeyler yazdığımı hayal edin

Selamlar, okul ile paralel olarak C++ ğrenmeye başladım. Takıldığım bir çok nokta oluyor, genelde ufak tefek çoğunu kendi başıma halledebiliyorum ancak açtığım daha nceki bi konudaki tavsiye üzerine sorularımı sorabilmek adına bu konuyu açıyorum. Her seferinde yeni konu kirliliği olmasın, bu konu altında yardırayım gitsin :) Kodlamayı terminal üzerinden linux cluster'a bağlanıp yapıyorum/yapıyoruz. Tamamen komut istemi ortamı yani. "g++" denilen bir derleyici modül var. İlk soru oradan. -Compiler, binder ve assembler denilen kavramlar tam olarak ne oluyor, farkları nedir? -Hemen hemen her rnek kod diziliminin sonunda "return 0;" içerikli bir satır var. O satırı kaldırdığımda da kodun aynen çalışmaya devam ettiğini grüyorum. return 0; nedir, niçindir? Teşekkürler noname tarafından 15/Kas/15 22:11 tarihinde düzenlenmiştir... said addicted.

#include "stdout. h"nerde hocam :Dstdio. 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 (:

Selamlar tekrar, bugün karşılaştığım "cin. ignore ;" ifadesinin ne anlama geldiğini ve hangi durumlarda kullanılması gerektiğini çzmeye çalışıyorum. Bir kaç stackoverflow vs. açıklaması okudum ancak iyice karıştı kafam. Nedir, ne değildir? nemli midir? cin. ignore ; ifadesi ile enter tuşuna basana kadar programı durduruyor. rneğin devam etmek için enter tuşuna basın gibi bir uyarı verip kullanabiliyorsun. parantez içine eğer sayı girersen girdiğin sayı kadar enter tuşuna basması gerekir... Kasnak yuvarlandı elek oldu, eski orospular melek oldu...

Return ifadesi "exit code" olarak geçer. nirvana_gg'nin dediği gibi programı başka bir program içerisinden çağırdığında, doğru çalışıp çalışmadığını anlamak için kullanırsın. rneğin programında bir if-else bloğu oluşturursun, eğer program beklenildiği işi başarıyla yaptıysa programın "0" dndürebilir, eğer dosyayı bulamadıysa da "0" olmayan bir değer dndürebilir. https://stackoverflow.com/questions/1101957/are-there-any-standard-exit-status-codes-in-linux rneğin buradaki listede verilmiş: 1: Catchall for general errors 2: Misuse of shell builtins 126: Command invoked cannot execute 127: "command not found" 128: Invalid argument to exit 128+n: Fatal error signal "n" 255: Exit status out of range (exit takes only integer args in the range 0 - 255) Ayrıca madem linux ortamda derliyorsunuz, orada çalıştırılmış son programın hata koduna bakabilirsin. Komut satırı ortamında "echo $?" komutu ile o komut satırı ortamında çalıştırdığın son programın dndürdüğü hata kodunu grebilirsin. Edit: Bu kitabı da kesinlikle tavsiye ederim. http://www.bottomupcs.com/ pcdoktor636 tarafından 09/Kas/15 20:26 tarihinde düzenlenmiştir

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ı? http://www.tahribat.com/forum/egitim-c-dersleri-193183 bunu indirmiştim zamanında başlayamamıştım ama, işine yarar belki test 1 2

error: integer overflow in expression , Sende de bu hatayı mı veriyor compile edince INT_MAX + 1 de? Too weird to live, too rare to die.

templatevoid to_bin yerine template <typename T>void to_bin olacak sanırım. Too weird to live, too rare to die.

Bana biraz ezbere gidiyorsun gibi geldi. Şimdi daha veri tiplerini genel syntaxı bilmeden size nasıl kod yazdırıyorlar anlamadım. Çünkü daha programlamanın en temel düzeyinde eksiğin var. Byle programlama ğrenilmez. Sana tavsiyem nce güzel bir c++ anlatan kitap edin , oradan temel veri tipleri, akış diagramı, syntaxı zümse. Daha sonra dngüler ve ifadeleri kavra. Byle byle 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ü syleyecek bir şeyleri vardır. Aptal insanlar konuşurlar çünkü bir şey sylemek zorundadırlar. Demokrasi, bir eğitim işidir. Eğitimsiz kitlelerle demokrasiye geçilirse oligarşi olur. Devam edilirse demagoglar türer. Demagoglardan da diktatrler çıkar. --Platon, Devlet

templatevoid to_bin yerine template void to_bin olacak sanırım. template void to_bin ş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.

Eeee adama demişsin ki tüm uyarıları hata olarak kabul et sonra da int'in alabileceği maksimum değeri geçen bir ifadeyi kullanmaya çalışıyorsun. Normalde bu sadece bir uyarıdır ama artık hata olarak sayıldığı için derlenmiyor. Olaylara karışmayın!

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 { union ; memset(&bytes, 0, sizeof ; value=v; // assumes little endian machine for (size_t i = sizeof ;i>0;i--) cout << endl; } int main ... said addicted.

#include "stdout. h"nerde hocam :Dstdio. h mıydı neydi işte c++ bilmiyorum 0x656e tarafından 15/Kas/15 21:26 tarihinde düzenlenmiştir

hocam onlar veri türleri genelde hepsininki aynı buradan bakabilirsin hepsine Kasnak yuvarlandı elek oldu, eski orospular melek oldu...

temel bir kitap alırsan senin içi çok iyi olur. "Kaan Arslan" - "A'dan Z'ye C klavuzu" gibi... Bu imzayı her grdüğünüzde 4gb kotanızın 0,00000358559191226959228515625 azalmaktadır. Bilerek ve istenerek bu imza yapılmıştır. Amaç kotanızı smürmektir

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ı? ... said addicted.

C ve C++'da veri tiplerinin boyutları kesin değil, platforma gre değişiyor. rneğin int 4 byte da olabilir 2 byte da. Standart şunu syler: char <= short <= int <= long der, gerisine karışmaz. sizeof işleciyle tipin büyüklüğünü grebilirsiniz. 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!

Bana biraz ezbere gidiyorsun gibi geldi. Şimdi daha veri tiplerini genel syntaxı bilmeden size nasıl kod yazdırıyorlar anlamadım. Çünkü daha programlamanın en temel düzeyinde eksiğin var. Byle programlama ğrenilmez. Sana tavsiyem nce güzel bir c++ anlatan kitap edin , oradan temel veri tipleri, akış diagramı, syntaxı zümse. Daha sonra dngüler ve ifadeleri kavra. Byle byle 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.

error: integer overflow in expression , Sende de bu hatayı mı veriyor compile edince INT_MAX + 1 de? Hocam g++ -Werror -Wall -o dosya dosya. cpp şeklinde yapınca aşağıdaki hataları alıyorum, ama sen yazdın diye g++ dosya. cpp olarak denedim hata vermedi :| x@cluster: /x/cppfiles $ g++ -Wall -Werror -o aufgabe1 aufgabe1. cpp cc1plus: warnings being treated as errors aufgabe1. cpp: In function 'int main ': aufgabe1. cpp:41: error: integer overflow in expression aufgabe1. cpp: In function 'void to_bin ': aufgabe1. cpp:44: instantiated from here aufgabe1. cpp:17: error: unused variable 'value' aufgabe1. cpp:17: error: unused variable 'bytes' aufgabe1. cpp: In function 'void to_bin ': aufgabe1. cpp:70: instantiated from here aufgabe1. cpp:17: error: unused variable 'value' aufgabe1. cpp:17: error: unused variable 'bytes' aufgabe1. cpp: In function 'void to_bin ': aufgabe1. cpp:97: instantiated from here aufgabe1. cpp:17: error: unused variable 'value' aufgabe1. cpp:17: error: unused variable 'bytes' ... said addicted.

Compiler: Derleyici. İnsanların anlayabildiği kaynak koddan makine diline çevirim işlemi yapar. Bu işlem esnasında nce kaynak kodu parçalara ayrılır , oluşturulan parçacıklar dilin kurallarına gre parçalanır ve ast oluşturulur. AST ise makine koduna dnüştürülür. Binder: Bunun ne olduğunu bilmiyorum fakat linkerı kastettiğinizi düşünüyorum. Linker en basit anlamda makine koduna dnüştürülen birçok parçayı uygun şekilde birleştirir ve çalıştırılabilir dosya tipine gre gerekli başlık dosyalarını üretir . Assembler: Platformun assembly dilini makine koduna çevirir. g++, GCC'nin C++ derleyicisini çalıştırmaya yarayan komuttur. cpp uzantılı dosyaları derler ve std C++ lib'i de ntanımlı olarak bağlayarak çalıştırılabilir dosya oluşturur . return deyimi, o anki işlev kapsamından çıkmaya yarar. Parametre ile yazıldığında işlev kapsamından çıkıp , işlevi çağırana parametreyi dndürür. Standart int dndürebildiği gibi farklı tipteki nesneleri de dndürebilir. return ile geri dndürülecek parametre sayısı sadece 1'dir. main işlevinin geri dnüş değeri int olduğundan , main işlevini çağırana programın hatalı/hatasız sonlandığını syler. Eğer işlevin duyurusu void ise sadece return ile işlev kapsamından çıkmak mümkündür, aksi halde imzaya uygun tipte bir şey geri dndürmek gerekir. main her koşulda sonlanacağı için açıkça yazmak gerekmez ama yazılması tavsiye edilir (C99 standardı return olmadan sanki return 0 yazılmış gibi davranılmasını syler). Olaylara karışmayın!

iKlotho bunu yazdı error: integer overflow in expression , Sende de bu hatayı mı veriyor compile edince INT_MAX + 1 de? Hocam g++ -Werror -Wall -o dosya dosya. cpp şeklinde yapınca aşağıdaki hataları alıyorum, ama sen yazdın diye g++ dosya. cpp olarak denedim hata vermedi :| x@cluster: /x/cppfiles $ g++ -Wall -Werror -o aufgabe1 aufgabe1. cpp cc1plus: warnings being treated as errors aufgabe1. cpp: In function 'int main ': aufgabe1. cpp:41: error: integer overflow in expression aufgabe1. cpp: In function 'void to_bin ': aufgabe1. cpp:44: instantiated from here aufgabe1. cpp:17: error: unused variable 'value' aufgabe1. cpp:17: error: unused variable 'bytes' aufgabe1. cpp: In function 'void to_bin ': aufgabe1. cpp:70: instantiated from here aufgabe1. cpp:17: error: unused variable 'value' aufgabe1. cpp:17: error: unused variable 'bytes' aufgabe1. cpp: In function 'void to_bin ': aufgabe1. cpp:97: instantiated from here aufgabe1. cpp:17: error: unused variable 'value' aufgabe1. cpp:17: error: unused variable 'bytes' Sendeki hataları vermiyor nedense tek aldığım hata bu tuhaf. Too weird to live, too rare to die.

3 saat içerisinde yetiştirmem gereken drt 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 gz gezdirip yardım edebilecek birileri vardır.. #include #include #include #include #include using std::cout; using std::endl; template void to_bin { union ; memset(&bytes, 0, sizeof ; value=v; // assumes little endian machine for (size_t i = sizeof ;i>0;i--) cout << endl; } int main x@cluster: /x_Programmierung_WS1516/uebung3 $ 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 ': 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 ': 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 ': 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.

Kodlar ve dndürdüğü hataları içeren stackoverflow linki : http://stackoverflow.com/questions/33724260/c-beginner-i-cant-fixcompile-the-code Buraya yapıştırınca <code> olarak işaretlesem de işaretlemesem de bazı kısımları yok oluverdi kodun... said addicted.

Hocam compiler sorularıni da aşağı yukarı biliyorum ama tam tanıma hakim olmadığım için yanlış bir şey soylemeyeyim. Gelelim diğer soruya return 0 derleyiciye programın sorunsuzca bittiğini syler. Yani sorun yok demektir. Eğer return -1, veya bunun tarzı bir geri donus yapılırsa programda sorun yaşandığı anlatılır. Return ile bu tur kontroller yapılıyor. Mesela if/else yapısı kurarsin, kullanıcıdan blr giriş yapmasını istersin atiyorum 0-10 arasında gibi bu degerlerde girerse return 0; verirsin eğer değerlerin dışına çıkarsa return -1 yaparsa programda hata olur gibi kullanımları var. Sürç-ü lisan ettiysek affola... Gece! Vampir değilim ama geceyi çok severim. Yalnızsın, oyun oynuyorsun monitrün ışığı ve kendin.

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ı? Farkları var illa ki hocam. Bellekte kapladıkları yerler farklı en başta. Ayrıca int dediğin değer -32768 ile +32767 arasında değer alır. Senin kullanma şekline gre işine hangisi uygunsa onu kullanırsın. Ayrıca int tam sayı değerlerdir tutupta 8,6 gibi bi değer atamazsın atadığın anda program bunun sadece 8 olan tam kısmını grecektir ondalıklı kısmını tanımayacaktır bunları gstermek için float ya da double değişkenlerini kullanırsın. En baş işlemler için yani basit matematiksel işlemler ve yaş sorgusu filan için int diyebilirsin bunlar işini grür ama tutupta bir faktriyel hesabı filan yaptıracaksan bunu double olarak tanımlayıp yle işlemlerini yaptırman gerekir. Aklına takılan birşey olduğunda sorabilirsin hocam. C++ bilmiyorum ama C ve C# biliyorum. Zaten bir dili ğrendikten sonra diğerlerini ğrenmek bir ayını almıyor sadece syntax ları ğreniyorsun kütüphanelerini ğreniyorsun geri kalan kısım hep aynı oluyor. Ayrıca bunları ğrenmek için bir sürü videolu eğitim seti var hocam ben birazdan buraya bitanesini koyucam gayet güzel anlatıyor C++ dilini. Ayrıyeten bir algoritma kitabı alıp algoritma becerini geliştirmenide tavsiye ederim. Her zaman daha detaylı daha kestirme düşünme becerini ve sorunlara çzüm üretme becerini geliştiriyor. Abilerim ablalarım yanlış birşey sylediysem affola bildiklerim kadarıyla yardımcı olmak istedim :) enesshn18 tarafından 09/Kas/15 21:23 tarihinde düzenlenmiştir barmak bassak olurmu gadasını aldığım :D