[Çözüldü] dizilerle ilgili bir problem

Başlatan carpediem, 05 Aralık 2011 - 17:46:35

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

carpediem

merhaba arkadaşlar,
dizilerin kullanımıyla ilgili bir sorum olacak.. yazdığım kodda main fonksiyonunun başında
dizi[90] şeklinde
tanımladığım bir diziye while döngüsü içinde değer ataması yapıyorum..dizide bulunan değerler ya 1 ya 2 ya da 3 şeklinde oluyor.. sonra  bu dizinin eleman sayısı kadar dönen bir for döngüsü içinde dizinin elemanının ne olduğuna bağlı olarak 3 farklı işlem yaptırıyorum..yani for döngüsü içinde
if(dizi[j]==1)
{......}
if(dizi[j]==2)
{......}
if(dizi[j]==3)
{......}
yer almakta..
ancak program diziye değer ataması yaptığım while döngüsü dışında hiçbir şekilde dizinin değerlerini vermiyor..
yani diziye değer ataması yapılan while döngüsü dışına çıktığımda dizinin elemanlarını yazdırmak istesem eğer başlangıç tanımında
dizi[90]={0};
şeklinde bir tanımlama varsa, dizi elemanları 1 2 ya da 3 olacakken 0 ve 1 li rakamlar yazdırıyor.
eğer başlangıç dizi tanımlaması
dizi[90];
şeklinde ise çok saçma uzun sayılar olarak dizi elemanlarını yazıyor..

hata nerede anlayamadım, kafam çok karıştı ve ödeve bu aşamayı yapamadığım için devam edemiyorum..yardım eden olursa çok mutlu olurum..

şimdiden teşekkürler..

sem

Kodu görebilirsek daha iyi olur...

Verdiğiniz örneklerden ve söylemlerden yola çıkarak tahminim hata şu;

dizi == 1

demişsiniz... Atama yaparken de dizi == x şeklinde atama yapılıyorsa sadece ilk elemanda işlem yapıyorsunuz demektir... Dizinin istediğiniz indise ulaşmak için kullanmanız gereken operator [] operatorü...

dizi[II] == 1


şeklinde kontrol yapmalısınız...

Aynı şekilde saçma gözüken sayılar da adres olabilir...printf("%d", dizi) diyerek dizi değişkenin bellekte tuttuğu ardışık alanın başlangıç adresini ekrana yazdırmış olursunuz...



Dediğim gibi örnek kod görebilirsek daha kolay yardımcı olabiliriz.


Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 05 Aralık 2011 - 18:47:13

EK: sanırım italik yazılmasıdaki neden sizin doğru şekilde dizi elemanlara erişmeye çalışmanız... =)=) Aynı şeye denk geldiğim için dizi[II] olarak değiştirdim =)


Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 05 Aralık 2011 - 18:47:49

EK 2: Evet sizden alıntı yaptığımda indis operatörünü kullandığnızı gördüm... Kodu gönderebilir misinz?
".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?

carpediem

#2
öncelikle çok teşekkür ederim ilgilendiğiniz için..

dizi==1 yazarken dikkat etmeden yanlış yazmışım, yoksa yazdığım kodda dizi[j]==1 şeklinde :)
az önce hatamın döngü dışında tanımlamam gereken sayaç değişkenini yanlışlıkla döngü içinde tanımlamamdan kaynaklandığını fark ettim.. ben dizinin içeriğini yanlış verince, dizi ile ilgili bir durum sanmıştım, alakası yokmuş :) daha dikkatli olmalıyım sanırım, sorun çözülmüştür :)




Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 05 Aralık 2011 - 18:52:07


ama ben neden diziyi ifade etmek istediğim biçimiyle yazamıyorum, yani yazıyorum öyle gözükmüyor :/
neyse kodda olması gerektiği gibi :)

alquirel

i'leri j yapalım, sorun kalmasın ;)

sem

Alıntı yapılan: carpediem - 05 Aralık 2011 - 18:50:39
öncelikle çok teşekkür ederim ilgilendiğiniz için..


Ne demek görevimiz =)=)=)

Yalnız tam olarak kestiremedim durumu, şu an sorunu çözdünüz sanırım değil mi? Başlığı etiketleyebilirsiniz yani =)
".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?

carpediem


evet çok şükür yapmak istediğimi yapabildim :)
yalnız başlık nasıl etiketleniyordu, unutmuşum :)
konu kısmına direk [Çözüldü] yazılıyordu galiba, öyle yapıyorum ama doğrudur umarım


Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 05 Aralık 2011 - 19:14:40

Alıntı yapılan: alquirel - 05 Aralık 2011 - 18:54:52
i'leri j yapalım, sorun kalmasın ;)
ilginç bir yaklaşım, işe yarayabilir  :D

BayboraKaan

Ilk iletiyi Cözüldü diye etiketlemen yeterli olacaktir ki sende öyle yapmissin konu cözüldügüne göre ve herkes mutlu sona ulastigi icin bende konuyu kilitliyorum. ;)