Chewy Mesaj tarihi: Aralık 7, 2009 Paylaş Mesaj tarihi: Aralık 7, 2009 Arraylere geçtikte bir sorum var guys. Şimdi 60lık bir array istiyorum 10 la 30 arasındaki çift sayıları bascak 10 a kadar ve 30 dan sonrasını normal bascak. şunu yazdımda bi bakarsanız #include<stdio.h> #define LIMIT 60 int display(int ar[] /*array of integers*/, int size /*no of elements in the array*/) { int i; disp=ar[0]; for(i=10;i<=30;i++) if(ar[i]%2==0) disp=ar[i]; return(disp) } int main(void) { int res; res=display(disp,LIMIT); printf("%d",&res); return 0; } Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
tunca Mesaj tarihi: Aralık 7, 2009 Paylaş Mesaj tarihi: Aralık 7, 2009 o kadar çok hata var ki nerden başlasam bilemedim Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Fly Mesaj tarihi: Aralık 7, 2009 Paylaş Mesaj tarihi: Aralık 7, 2009 programlama mantığıyla ilgili epey sorunun var açık söylemek gerekirse c'ye gelmeden önce, birkaç konudur bakıyorum da x y z yapacağım diyip rastgele şu hede bununla alakalı gibi yazayım tutar der gibi kodların. olmayan bir argümanla çağırmaya kalkıyorsun fonksiyonu mesela en basitinden, sakin sakin ilerle ne yapmak istediğini iyi düşünerek. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Anason Mesaj tarihi: Aralık 7, 2009 Paylaş Mesaj tarihi: Aralık 7, 2009 hata olarak gordugun bir kac nokta, - LIMIT i tanimlayip, fonksiyona parametre olarak gecmissin fakat fonksiyonda kullanmamissin, o yuzden bir anlami yok. - display fonksiyonunda birsey basmiyorsun, sadece 30 a kadar olan en son 2 ye bolunebileni sonuca atiyorsun ve onu donduruyorsun. arrayin'deki 30. siradakinden sonradakilerinin islevi yok, ha bu arada 0-10 arasindakilerininde bir islevi yok. - for ve printf lerden sonra {} kullanmalisin, senin kodunda sart olmayabilir fakat ilerisi icin sorun teskil edebilir. - res, 10 ila 30 arasindaki en son 2 ye boluneni kapsiyor, fakat sen print ederken bu degeri degilde bunun adresini bastirmisin, istedigin sey bu degil. Ayrica bunu istesen bile, 64 bit makinada, eger integer buyuklugu 32 bit ise buda yanlis gostericektir. %p kullanmak gerekli olur, printf() icerisinde yuksek derecede "promotion" barindiran ve kullanimi dikkat gerektiren bir fonksiyon. - for lari, integer iterate ediceksen 0 dan farkli bir sayiyla baslatmak hos karsilanmaz :) - pointerlara gecmedigsen burayi kala alma. fonksiyona verdigin birince parametre int ar[], bence iyi bir kullanim degil, implementasyona gore degissede, stack e bu gecirdigin parametrenin, kopyasini alma olasiligi yuksek, performans kaybi sebebi olabilir, zaten arrayini 0 dan baslatmicaksan pointer olarak parametre gecirmen daha mantikli. size parametresi vermissin. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Öne çıkan mesajlar