Yazar |
|
extreme
Kahramanmaras
admin
Kayıt: 24.10.2006 |
|
Hocam o satır atlatan karakteri ( ascti kodu 10muş) tanıtmada zorluk çekiyorum. kendi fonksyonlarımı yazmaya çalışıyorum ve o karaktere gelince saçmalamaya başlıyo.
o karakteri
int i=10,j=0;
char satiratlat;
satiratlat = char(i);
if (*(words() + j) == satiratlat)
j++
gibi yazıyorum çalışmıyo. nasıl yazmalıyım???
The Man Who Loved Algorithm&Ubuntu.
www.burakamasyali.com
|
|
Yazar |
|
cengineer
Kayıt: 27.10.2006 |
|
read_word_list_to_memory(); yazdığım zaman resimdeki hatayı veriyor neden olduğunu açıklayabilirseniz sevinirim çıldırmadan önce
" Her arayan bulamayabilir ancak bulanlar arayanlardir..! " Imam-i Rabbâni
|
|
Yazar |
|
cantur
Rize
admin
Kayıt: 16.01.2006 |
|
cengineer yazdi | read_word_list_to_memory(); yazdığım zaman resimdeki hatayı veriyor neden olduğunu açıklayabilirseniz sevinirim çıldırmadan önce
|
dictionary.txt dosyasını debug klasörüne kopyaladın mı ? ..
|
|
Yazar |
|
cengineer
Kayıt: 27.10.2006 |
|
cantur yazdi | dictionary.txt dosyasını debug klasörüne kopyaladın mı ? ..
|
teşekkürler hocam bu yazılım işi ne stresli bişeymiş
" Her arayan bulamayabilir ancak bulanlar arayanlardir..! " Imam-i Rabbâni
|
|
Yazar |
|
cantur
Rize
admin
Kayıt: 16.01.2006 |
|
extreme yazdi | Hocam o satır atlatan karakteri ( ascti kodu 10muş) tanıtmada zorluk çekiyorum. kendi fonksyonlarımı yazmaya çalışıyorum ve o karaktere gelince saçmalamaya başlıyo.
o karakteri
int i=10,j=0;
char satiratlat;
satiratlat = char(i);
if (*(words() + j) == satiratlat)
j++
gibi yazıyorum çalışmıyo. nasıl yazmalıyım??? |
kelimeyi okumak için neden bu kadar kastığını anlamadım. Bu kısım zaten hazır olarak var. Daha çok algoritma kurmaya odaklanın. Soruna gelince.
char kelime[20]
fscanf(di,"%s",kelime);
di : dosya pointere . yukarıdaki kod sana dosyadan bir satır okur ve bir alt satıra gecer. Satır sonlandırıcı ile ilgilenmene gerek kalmaz.
|
|
Yazar |
|
extreme
Kahramanmaras
admin
Kayıt: 24.10.2006 |
|
Hocam o fonksyonlarla istediğim algoritmayı kuramıyorum. Benim o karakteri denetlemem lazım. Bunun yolu yokmu.
The Man Who Loved Algorithm&Ubuntu.
www.burakamasyali.com
|
|
Yazar |
|
sinan61
TRABZON
Kayıt: 05.12.2006 |
|
Hocam read me dosyasında arkadaşınız her iki yönde (yatay dikey) kelime seçebilir yazıyo! bu ifade kullanıcının arzu ettiği bir ya da daha çok kelimeyi uygun koşulda puzzll a yerleştrmemz mi gerekyo tabi arzu ederse etmezse kafana göre takıl gibi bişey mi...açıklarsanız??
Nobody live like me!!!
|
|
Yazar |
|
cantur
Rize
admin
Kayıt: 16.01.2006 |
|
sinan61 yazdi | Hocam read me dosyasında arkadaşınız her iki yönde (yatay dikey) kelime seçebilir yazıyo! bu ifade kullanıcının arzu ettiği bir ya da daha çok kelimeyi uygun koşulda puzzll a yerleştrmemz mi gerekyo tabi arzu ederse etmezse kafana göre takıl gibi bişey mi...açıklarsanız?? |
Her iki yöndeki minimum ve maksimum kelime sayısını seçebilir diyor. Kaç kelime olacağı konusunda bir sınırlama yok minimum ve maksimum değerleri var. Bu aralıktaki kelime miktarları kabul edilecek yani. Bu sınırlara çok fazla kafanızı takmayın bunlar oldukça büyük aralıklar olacak bulmacanın boyutuna göre.
|
|
Yazar |
|
cantur
Rize
admin
Kayıt: 16.01.2006 |
|
extreme yazdi | Hocam o fonksyonlarla istediğim algoritmayı kuramıyorum. Benim o karakteri denetlemem lazım. Bunun yolu yokmu. |
google : c file read functions
http://www.mrx.net/c/readfunctions.html
Bu linki bir incele istersen
|
|
Yazar |
|
ramcho
denizli
Kayıt: 02.10.2006 |
|
hocam.. siz secilen sıradaki bi kelimeyi matrise yerleştirrme kodunu yazmışınız ama..ben ordaki locx ve locy yi anlayamadım??önce locx ve locy diye değişken mi atayacaz??değişken atadım ama olmadı..locx ve locy kullanmadan onların yerine sayı verdim yine olmadı.. ordaki words içinse sadece başta char *words(); yazmamız yeterli sanırım....................yardım ederseniz sevinirim...
|
|
Yazar |
|
cantur
Rize
admin
Kayıt: 16.01.2006 |
|
ramcho yazdi | hocam.. siz secilen sıradaki bi kelimeyi matrise yerleştirrme kodunu yazmışınız ama..ben ordaki locx ve locy yi anlayamadım??önce locx ve locy diye değişken mi atayacaz??değişken atadım ama olmadı..locx ve locy kullanmadan onların yerine sayı verdim yine olmadı.. ordaki words içinse sadece başta char *words(); yazmamız yeterli sanırım....................yardım ederseniz sevinirim... |
// index : seçilen kelimenin listedeki sırası.
// locx : int pointer . Puzzleda kelimeyi yerleştireceğimiz sütun başlangıç numarası.
// locy : int pointer . Puzzleda kelimeyi yerleştireceğimiz. satır numarası 0 tabanlı.
// aşağıdaki kod yatayda bir kelimenin harflerini puzzle matrisine yerleştirir.
// eğer kelime uzunluğu matrisin sınırına dayanmıyor ise kelimenin sonuna sonlandırıcı bir kutu koyar.
int word_length = get_word_size_at(index);
int i;
//5. İnsert word into the puzzle.
for (i= 0; i< word_length; i++)
{
add_to_puzzle(*locx +i , *locy , *(words()+ index * WORD_LENGTH + i));
}
if(*locx + word_length < PUZZLE_COLUMNS)
add_to_puzzle(*locx + word_length , *locy , char(PUZZLE_FULL_SQUARE));
bu örnekteki locx ve locy değişkenleri int poiinter tipinde idi. Yani int *locx , *locy; şeklinde tanımlanmış durumdalar. Böyle yapmamın nedeni fonksiyonların içinde de değerini değiştirebilme imkanına sahip olmaktı. Neyse sorununa gelince; eğer locx ve locy yi normal tanımlarsan (pointer olmayan şekilde int locx,locy; gibi ) yukarıdaki kodda locx ve locy değişkenleri önündeki yıldız işaretlerini kaldıman gerekir. Çünkü pointer olmadıklarından kendileri direk veriyi temsil edeceklerdir. Bu düzenlemeden sonra kodu çalıştırabilirsin sanıyorum.
|
|
Yazar |
|
ramcho
denizli
Kayıt: 02.10.2006 |
|
int *locx,*locy;
int index=2;
int word_length = get_word_size_at(index);
int i;
char *puzzle();
char *words();
FILE *a;
if((a=fopen("dictionary.txt","r"))==NULL)
printf("dosya açılamadı ");
else {
read_word_list_to_memory();
for (i= 0; i< word_length; i++){
add_to_puzzle(*locx+i ,*locy, *(words()+ index * WORD_LENGTH + i));
}
if(*locx + word_length < PUZZLE_COLUMNS)
add_to_puzzle(*locx + word_length , *locy , char(PUZZLE_FULL_SQUARE));
}
hocam sadece bunlar yazılı program hata vermiyo ama exe yi çalıştırdığımda visualstudio2005 çalışmayı durdurdu diye uyarı gelip kapanıo..dediğiniz gibi pointer olmadan tanımlıyorum yine hata vermiyo ama yine çalışmıyo bi şeyi yanlış mı yazıyorum acaba????
|
|
Yazar |
|
cantur
Rize
admin
Kayıt: 16.01.2006 |
|
ramcho yazdi
Uzun zamandır intenete giremedim sorunun hala devam ediyor ise sorunun oluştuğu kod satırını ve hata mesajını bildirirsen sorunu çözmeye çalışırız.
|
|
Yazar |
|
ramcho
denizli
Kayıt: 02.10.2006 |
|
(inş img yi doğru eklemişimdir)
hala bi şey yapamadım hocam hata vermiyo normalde ama exede ççalışmıyo..resimdeki windows hatasını veriyor ..teşekkürler
|
|
Yazar |
|
cantur
Rize
admin
Kayıt: 16.01.2006 |
|
ramcho yazdi | FILE *a;
if((a=fopen("dictionary.txt","r"))==NULL)
printf("dosya açılamadı
");
else { |
Kodundan bu kısımı çıkarman gerekiyor.
read_word_list_to_memory fonksiyonunun yapısına bakarsan bu fonksiyon içerisinde zaten dosyayı okumak için açma işlemini içeriyor. Sen yukarıdaki kod parçasını ekleyerek aynı dosyanın kapatılmadan iki defa açılmasına neden oluyorsun. Açtığın bir dosyayı fclose() ile kapamadan ikinci defa açamazsın sanırım problemin bu. Çalışmaya devam ..
|
|
|
|
-
Del.icio.us
-
Digg
-
Facebook
-
Furl
-
Google
-
Blink
-
Simpy
-
Spurl
-
Y! MyWeb
|
|
| | | | | | | | | | | |