Seele Mesaj tarihi: Mart 20, 2013 Paylaş Mesaj tarihi: Mart 20, 2013 Evet C++ ögrenmeye basladim. bu baslik altinda kafanizi agritmayi düsünüyorum diyelim ki elimde struct var su sekilde struct stack_a { int size, last, *values; } ilk sorum memory olayi. test stackt_a; test = ( stack_t *) calloc (1 , sizeof( stack_t )); buraya kada ok. simdi ikinci pointer icin yer acalim test->values = (int*) realloc (test->values , 1 * sizeof(int)); test->values[1] = 154214; ilk veri Ok. ikinci bir veri giricem ve memory büyütmem lazim. test->values = (int*) realloc (test->values , 2 * sizeof(int)); test->values[2] = 554411; test->values[1] ne yazikki silindi/üzerine yazildi. realloc yerine malloc mu kullanmam mi gerekli? yoksa bastan belli bir memory ayirmam mi gerekli. hem memory büyültüp hemde verilerin kaybolmasini nasil engellerim? ikinci sorum söyle test->values[1] = 8; test->values[2] = 7; test->values[3] = 3; test->values[4] = 9; test->values[5] = 4; simdi kendime bir function yazip bana en kücük int degerini geri vermesini istiyorum . en iyi nasil yapabilirim ilk aklima gelen for kullanarak int degeeri bulmak returnlemek. ücüncü sorum : test->values[1] = 8; test->values[2] = 7; test->values[3] = 3; test->values[4] = 9; test->values[5] = 4; en kücük degeri silmek diger veriler kaliyor. fikri olan ? Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Kojiroh Mesaj tarihi: Mart 20, 2013 Paylaş Mesaj tarihi: Mart 20, 2013 Indexlerin 0'dan başlaması gerekmiyo mu? Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Fly Mesaj tarihi: Mart 20, 2013 Paylaş Mesaj tarihi: Mart 20, 2013 gcc disinda compiler kullanmadim senelerdir, yaniliyor olabilirim de deklarasyonundan itibaren hata var, en azindan alisildik c++ kodu gibi gozukmuyor stack_a test; diye deklare ettik diyelim birincisi pointer (ve dolasiyila dinamik olarak allocate edilmesi gerektigi anlamini tasiyan) degil bu degisken, alloc callarini gerektiren bir sey yok ikincisi icindeki degerleri initialize etmiyorsun normal bir sekilde, sifirli da olabilir cop degerler de olabilir compiler dert yanmazsa stack_a test = (stack_a){0,0,NULL}; veya class haline getirip constructor olustur, values'un allocationi da icinde olsun oyle NULL falan olacagna ana konu icinse, indexleri sifirdan baslatman gerekiyor ? o noktadan bir sonraki int size kadar gittigin yer yine programa ait oldugu icin segfault yememissin sadece duzeltip tekrar bak, diger sorduklarinda da ayni hata var sen c# java ikisinden birinde calisiyordun zaten indexler onlarda da tipik olarak 0'dan baslar, c++ icin 1'den basla diye biri mi yonlendirdi ? Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
fizban Mesaj tarihi: Mart 20, 2013 Paylaş Mesaj tarihi: Mart 20, 2013 birinci soru icin yukaridaki cevaplar. realloc silmez yani. ikinci soru icin http://www.cplusplus.com/reference/algorithm/sort/ ucuncu soru icin tersten sort et, realloc et. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Seele Mesaj tarihi: Mart 20, 2013 Konuyu açan Paylaş Mesaj tarihi: Mart 20, 2013 class kullanamam yasak olay modular programming. malloc kullaninca sorun ortadan kalkiyor. struct kesin pointer olmak zorunda. ama ordada tam anlami ile dynamic bir memory olmuyor. sort uzun hikaye belki daha hizli bir yolu vardir diye düsündüm. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
zgrw Mesaj tarihi: Mart 22, 2013 Paylaş Mesaj tarihi: Mart 22, 2013 ikinci sorun en basit haliyle linear search, 3.su de sort etmek Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Eralpb Mesaj tarihi: Mart 22, 2013 Paylaş Mesaj tarihi: Mart 22, 2013 Malloc kullaninca silinmemesi imkansiz gibi geliyor, sen bir memory request ediyosun OS'ten sana orayi veriyor sonra onu sisteme geri vermeden(delete ile) yeni bir yer request ediyorsun o ilkini kapsayamaz baska yere koymak zorunda. Degerleri yeni yere otomatik kopyaliyo desem ... o da olmaz. Niye boyle bisey implement etsinler. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Seele Mesaj tarihi: Mart 22, 2013 Konuyu açan Paylaş Mesaj tarihi: Mart 22, 2013 zgrw said: ikinci sorun en basit haliyle linear search, 3.su de sort etmek sort dedim bende yok prof olmaz dedi. downheap 3. soru icin. ayrica bellek ayiracakmisiz kafamiza göre gerekirse realloc. aslinda cok kolay haftasonu anlatirim. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Deacon Mesaj tarihi: Mart 22, 2013 Paylaş Mesaj tarihi: Mart 22, 2013 2 ve 3'u birlikte yapsana mis gibi. Min-heap yaratirsin iste theta(N) complexity ile hem min'i return edersin hem de sonrasinda silersin. Search'e, sort'a falan gerek yok. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
EVIL_DeaD Mesaj tarihi: Mart 22, 2013 Paylaş Mesaj tarihi: Mart 22, 2013 #include using namespace std; int main() { cout << "Hello World"; return 0; } Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Seele Mesaj tarihi: Nisan 7, 2013 Konuyu açan Paylaş Mesaj tarihi: Nisan 7, 2013 simdi bir C sorum var bir headerimiz var typedef struct { iEntry_t *first; iEntry_t *last; } iDB_t; void loadDB(iDB_t *db, char *dbn, char *path); simdi mainimizde de bir iDB yaratiyoruz. iDB_t *dbtmp = malloc(sizeof(iDB_t )); sonra bunu load fonksiyorunu yolluyoruz. bu fonksiyorun baska bir C file'da. load(dbtmp, NULL, NULL); dbtmp load fonksiyonu icinde OK yani veri var. ama main geri gelince bos. pointerda nerde hata yapiyorum? Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Seele Mesaj tarihi: Nisan 7, 2013 Konuyu açan Paylaş Mesaj tarihi: Nisan 7, 2013 neyse hallettim. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Öne çıkan mesajlar