Yazar |
|
extreme
Kahramanmaras
admin
Kayıt: 24.10.2006 |
|
burakkanmaz yazdi |
*(words() + index * 20 + i) şeklinde i ye bağlı harfleri okuyabilirsin ki. Şekil ile göstermek gerekirse zaten bilgileri şöle depolanıor,
[a][h][m][e][t][ ][ ][ ][ ][ ][ ][ ][ ][ ]
yani sen [ ] (null) karakterini görene kadar oku, görünce durdur okumayı. Satırla uğraşmana gerek kalmaz o zaman. |
ben bunu bilmiyordum peki kelimenin kaç harfli olduğunu nasıl tanımlayabilirim.
The Man Who Loved Algorithm&Ubuntu.
www.burakamasyali.com
|
|
Yazar |
|
reader
Kayıt: 24.12.2007 |
|
ya arkadaslar dictionary.txt dosyasını debug klasorune kopyalamama ragmen bu hatayı verıyodüzeltebilen varmı???neyapmam lazım
---------------------------
Microsoft Visual C++ Debug Library
---------------------------
Debug Assertion Failed!
Program: ...ctReleaseV1_1ProjeVisualStudio6_0Debugvs6_buildPuzzle.exe
File: fseek.c
Line: 146
Expression: str != NULL
For information on how your program can cause an assertion
failure, see the Visual C++ documentation on asserts.
(Press Retry to debug the application)
|
|
Yazar |
|
burakkanmaz
Gaziantep
Kayıt: 02.10.2006 |
|
extreme yazdi | ben bunu bilmiyordum peki kelimenin kaç harfli olduğunu nasıl tanımlayabilirim. |
*(words() + index * 20 + i);
ile diyelim 5.kelime olan "ahmet" i ele alalım.
index = 5 için
*(words() + 100 + i);
olur ve i = 0 için bize "a" nın pointer i döner, i = 1 için "h" nin pointer i döner. böle devam edip gider.
kaç harfli olduğuna gelince;
bellekte harf gelmeyen tüm adreslerde \0 (null) vardır. Sen kelimenin uzunluğunu bulmak istiyorsan kasmana gerek yok öncelikle, çünkü get_word_size_at(i); fonksyionu var. i=5 için bize "ahmet" kelimesinin uzunluğu olan 5 değerini int türünde dönderecektir bu fonksyion.
Hocanın yazdığı fonksiyonlar bir çok işi yapıyor zaten. Dosyadan okuma, uzunluk bulma vs. gibi işler için kasmaya gerek yok. Hepsi hazır.
reader yazdi | ya arkadaslar dictionary.txt dosyasını debug klasorune kopyalamama ragmen bu hatayı verıyodüzeltebilen varmı???neyapmam lazım
|
Debug dan bir önceki klasore de kopyala. Yani ..Proje\VisualStudio2005\ içine veya ..Proje\VisualStudio6\ Bu sorunun çözümü önceki sayfalarda var ama çok uzadığı için konu :) bulunamıyor.
|
|
Yazar |
|
extreme
Kahramanmaras
admin
Kayıt: 24.10.2006 |
|
Hocam bu programdan kaç alırım. Sürekli aynı sonucu veriyor kaç puan kırarsınız.
yatay sıraladım dikey kendiliğinden oldu. 20 tane kare var tam sınırda
The Man Who Loved Algorithm&Ubuntu.
www.burakamasyali.com
|
|
Yazar |
|
cantur
Rize
admin
Kayıt: 16.01.2006 |
|
Alacağın puan diğer arkadaşların başarısına bağlı.
|
|
Yazar |
|
extreme
Kahramanmaras
admin
Kayıt: 24.10.2006 |
|
hocam bu rand() fonsyonunda 148784 elde etmek için rand() + rand() + rand() + rand gibi yazmayı düşünüyorum. bunların hepsi aynı değeri üretirmi. Farklı değerler üretmek için ne yapabilirim.???
The Man Who Loved Algorithm&Ubuntu.
www.burakamasyali.com
|
|
Yazar |
|
extreme
Kahramanmaras
admin
Kayıt: 24.10.2006 |
|
Farklı değerler üretiyormuş.
The Man Who Loved Algorithm&Ubuntu.
www.burakamasyali.com
|
|
Yazar |
|
fonemi
Kayıt: 09.01.2007 |
|
Hocam sizin yazdığınız generate random fonksiyonuyla alakalı benim de bir sorum var. Sonuç değişkenine ((float)rand()/(float)RAND_MAX) * 20000 sayısını hem ekleyip hem çıkarmışsınız. Bunun amacı ne acaba ? Bir şekilde virgülden sonraki kısmı mı yok ediyorsunuz ? Evetse nasıl ?
|
|
Yazar |
|
extreme
Kahramanmaras
admin
Kayıt: 24.10.2006 |
|
Hocam
double rasgele(){
double index;
index = (rand() %17775) + rand() + rand() + rand() + rand();
return index;
}
böyle bir fonsyon kullanıp programda
double ran;
ran = rasgele();
*(puzzle + 20*ran + i)
gibi yazdığımda pointer aritmetiğinde int kullan gibi bir hata verior. Ne yapmalıyım. her döngüde random için 5 değişken mi ayırmalıyım.
The Man Who Loved Algorithm&Ubuntu.
www.burakamasyali.com
|
|
Yazar |
|
cantur
Rize
admin
Kayıt: 16.01.2006 |
|
fonemi yazdi | Hocam sizin yazdığınız generate random fonksiyonuyla alakalı benim de bir sorum var. Sonuç değişkenine ((float)rand()/(float)RAND_MAX) * 20000 sayısını hem ekleyip hem çıkarmışsınız. Bunun amacı ne acaba ? Bir şekilde virgülden sonraki kısmı mı yok ediyorsunuz ? Evetse nasıl ? |
Rand() + Rand() gibi bir yaklaşım size tam bir rasgelelik sunmaz. Küçük sayıların oluşma olasılığını yok ettiğiniz gibi çoğu değer orta kısımdaki sayılardan türer
ör: 5 + 5 : 10 , 10 + 0 : 10 ; Görüleceği gibi bu yaklaşımla 20 veya 0 getirmek 10 getirmekten zor hatta oldukça düşük ihtimal. Benim yazdığımdaki ekleme çıkarma bu rasgelelik mitarını arttırmak için.
Misal sizde : her basamağı ayrı bir rand() la hesaplayıp bunları bileştirerek yazabilirsiniz. Örnekteki fonksiyon çok güzel bir yaklaşım değil ama idare eder.
|
|
Yazar |
|
cantur
Rize
admin
Kayıt: 16.01.2006 |
|
extreme yazdi | Hocam
double rasgele(){
double index;
index = (rand() %17775) + rand() + rand() + rand() + rand();
return index;
}
böyle bir fonsyon kullanıp programda
double ran;
ran = rasgele();
*(puzzle + 20*ran + i)
gibi yazdığımda pointer aritmetiğinde int kullan gibi bir hata verior. Ne yapmalıyım. her döngüde random için 5 değişken mi ayırmalıyım. |
Yani hatanı zate yazmışın buraya ran değişkenini double tanımlamışsın ve son satırdaki pointer işleminde cast yapmadan kullanıyorsun. Hata bu. Dikkat bizim kelime dizisi int sınırını aştığı için long kullanmaya özen gösterin.
Problemini son satırı şu şekilde düzenleyerek giderebilirsin sanırım.
*(puzzle + 20*((long)ran) + i )
Ayrıca bu rand() yapın güzel değil eski postları incele istersen.
|
|
Yazar |
|
kartane
istanbul
Kayıt: 22.02.2007 |
|
Hocam,kötüyüm kötüyüm demekte haklıymışsınız.:):)Şu saat oldu halaaaaa projeyi idrak etmeye çalışıyorum
|
|
Yazar |
|
cantur
Rize
admin
Kayıt: 16.01.2006 |
|
Aslında geleceğe yönelik sizin iyliğiniz için algoritma ağırlıklı bir ödev verdik ama programlama dersine de ders geçme kaygısı ile yaklaşıyor olmanızdan dolayı kötü görünüyoruz sanırım.
Projeye başlayamamış arkadaşlar bu aşamayı başarmışlardan yardım isteyin. Proje bu kapsamda sosyal bir amaç da güdüyor.. Ben kopya ödev vermeyin dedim. Sanırım bu ortak çalışmayın gibi bir mana ile anlaşılmış. Başarı için birlikte çalışmak önemli. Bilgisini sizle paylaşmak istemeyene zaten diyeceğimiz bir şeyimiz yok.
|
|
Yazar |
|
extreme
Kahramanmaras
admin
Kayıt: 24.10.2006 |
|
Hocam bu yatay oluyor ama dikey olmuyo.
Kitlenip kalıyo program.
The Man Who Loved Algorithm&Ubuntu.
www.burakamasyali.com
|
|
Yazar |
|
cantur
Rize
admin
Kayıt: 16.01.2006 |
|
extreme yazdi
Zaten olay yatayla dikeyi aynı anda gerçekleştirebilmek.
Adım adım bulacaksın çözümü hadi bakalım biraz gaz. Hem daha yazdığın kod 2sn nin altında çalışıyor.
|
|
|
|
-
Del.icio.us
-
Digg
-
Facebook
-
Furl
-
Google
-
Blink
-
Simpy
-
Spurl
-
Y! MyWeb
|
|
| | | | | | | | | | | |