Jump to content
Forumu Destekleyenlere Katılın ×
Paticik Forumları
2000 lerden beri faal olan, çok şukela bir paylaşım platformuyuz. Hoşgeldiniz.

C guruları koşun


Laorx

Öne çıkan mesajlar

http://static.funnyjunk.com/CommentPhoto/thumbnail/616a4d20_ee5f_c3ad.jpg
mülakat soruları bakıyorum, bazılarına kafa basmadı. bi yardım edin.

1

Bugunden itibaren 2012'nin sonuna kadar kaç tane "13. Cuma" vardır?

said:
2012/1/13
2012/4/13
2011/5/13
2012/7/13
2010/8/13


şunlar.




2

Bir binary'de MIB(Most significant bit) en kolay ve en hızlı nasıl bulunur?

su değer http://upload.wikimedia.org/wikipedia/commons/thumb/7/76/Most_significant_bit.svg/280px-Most_significant_bit.svg.png




3. (bit manuplation)

Given a long bit string M and a small bit string N
Make the bits between p & q in M same as N (q-p = strlen(N))

Link to comment
Sosyal ağlarda paylaş

e ilki çok kolay değil mi ?
while ın içinde iki tane değer olucak, bir tanesi 7 olduğunda sıfırlanıcak, diğeri 28 den sonra if ile check edilip o ayda kaç gün varsa ona göre sıfırlanıcak. ay değişkeni 13 olduğunda hafta değişkeni kontrol edilecek, eğer cumaya denk geliyorsa kaydedilcek.
Link to comment
Sosyal ağlarda paylaş

tunca said:

e ilki çok kolay değil mi ?
while ın içinde iki tane değer olucak, bir tanesi 7 olduğunda sıfırlanıcak, diğeri 28 den sonra if ile check edilip o ayda kaç gün varsa ona göre sıfırlanıcak. ay değişkeni 13 olduğunda hafta değişkeni kontrol edilecek, eğer cumaya denk geliyorsa kaydedilcek.

Büyük ihtimalle bunun efektif bi algoritma olmasını istiyolar. Öyle bodos kontrolle değil de, daha hızlı bişeyle.
Link to comment
Sosyal ağlarda paylaş

El-Barto said:

tunca said:

e ilki çok kolay değil mi ?
while ın içinde iki tane değer olucak, bir tanesi 7 olduğunda sıfırlanıcak, diğeri 28 den sonra if ile check edilip o ayda kaç gün varsa ona göre sıfırlanıcak. ay değişkeni 13 olduğunda hafta değişkeni kontrol edilecek, eğer cumaya denk geliyorsa kaydedilcek.

Büyük ihtimalle bunun efektif bi algoritma olmasını istiyolar. Öyle bodos kontrolle değil de, daha hızlı bişeyle.

onun efektif hali de 1er 1er arttırmak yerine 7şer 13er falan arttırmak olur yani başka nasıl efektif olucak
Link to comment
Sosyal ağlarda paylaş

tunca said:

El-Barto said:

tunca said:

e ilki çok kolay değil mi ?
while ın içinde iki tane değer olucak, bir tanesi 7 olduğunda sıfırlanıcak, diğeri 28 den sonra if ile check edilip o ayda kaç gün varsa ona göre sıfırlanıcak. ay değişkeni 13 olduğunda hafta değişkeni kontrol edilecek, eğer cumaya denk geliyorsa kaydedilcek.

Büyük ihtimalle bunun efektif bi algoritma olmasını istiyolar. Öyle bodos kontrolle değil de, daha hızlı bişeyle.

onun efektif hali de 1er 1er arttırmak yerine 7şer 13er falan arttırmak olur yani başka nasıl efektif olucak


aha sağol tunca güzel cevaplar, serpil hoca'dan mı almıştın sen c'yi:D

ama ben brute force değilde, "Doomsday Algorithm" die bir yol varmış onu bilen birini arıyorum aslında.

Pipet said:

2. soruda array'e at sayıyı sağa kaydır arrayin 0. sını al


bildiğim kadarıyla negatif sayıları sağa kaydırınca değeri yarıya bölüyosun. olmaz gibi yani.

0 1 1 1 1 1 1 1 = 127
0 1 1 1 1 1 1 0 = 126
0 0 0 0 0 0 1 0 = 2
0 0 0 0 0 0 0 1 = 1
0 0 0 0 0 0 0 0 = 0
1 1 1 1 1 1 1 1 = −1
1 1 1 1 1 1 1 0 = −2
1 0 0 0 0 0 0 1 = −127
1 0 0 0 0 0 0 0 = −128

bu soruya şöyle bir cevap buldum ama anlamadım tabi, açıklayan olursa sevinirim.
said:
static const T mask = 1 << (8*sizeof(T)-1);
Link to comment
Sosyal ağlarda paylaş

bise dicem, soyle birsey aklima geldi msb icin

10101011

simdi biz bastaki 1'i istiyoruz. burada 8 bit var, yani 1 byte.

ben bu sayiya int x diyorum integera cast ederek. aslinda int 4 byte olur ama burada 1 diye bakalim sonucta birsey farketmeyecek.

ben gidip (int) (x / 2^(sizeof(x)*8-1)) yaparsam
yani (int) (x / 128) oluyor bu da
sonuc 1 ise msb 1'dir degilse 0'dir
mantik 128 veya uzeriyse msb mutlaka 1dir, degilse 0dir

olur mu nasil :)
simdi buldum :)
Link to comment
Sosyal ağlarda paylaş

abi assembly implement etmeye fln hiç girmeyelim bence, zaten c'yi 6 sene önce gördüm shifting mifting gördükçe hatırlıyorum.

şimdi ortaya soruyorum

bitwise shifting tarzı operatorleri hatırladım ama şurda

said:
00001100 bunu << 2 yaptığımda 00110000


"şurda sonuç söylemi cıkar peki?" said:

11000110 peki bunu <<2 yaptığımda 00011011


mesela aşağıda anlatmak istediği

said:
static const T mask = 1 << (8*sizeof(T)-1);


T: 128 (yani 10000000) olsun diyelim, sizeof ne alaka? niye 8'le multiply edip 1 çıkartıyo sonra shiftliyo, neden neden
Link to comment
Sosyal ağlarda paylaş

Orda yaptigi sana her turlu type i test icin bir maske yaratmak.
T tipinde a adinda bir elemanin var diyelim.
sizeof sana o type in byte sayisini doner 32bitlik bir type sa 4 doner orda 1 i 31 kez shift edip MSB ye getiriyor. Yani T typei neyse bu int olur float olur char olur double olur mask elemaninda MSB de 1 gerisinde 0 yaziyor.

Bu maskeyle senin x i bitwise AND lersen msb 1 mi 0 mi bulursun her tip icin.
Link to comment
Sosyal ağlarda paylaş

Farklı düşünmeye kastırdım, düz hesap olmasın ,


İlk soru için, Her ay sabit bir gün, ayın 13'ü , hangi güne denk geliyoru formülize edebilirsen, çat diye hesaplatabilirsin ordan.
Yapabilirsen buraya yazar mısın? merak ettim.

http://en.wikipedia.org/wiki/Calculating_the_day_of_the_week şurda bişiler var ama? bakamadım şimdik
Link to comment
Sosyal ağlarda paylaş

Larva said:

Orda yaptigi sana her turlu type i test icin bir maske yaratmak.
T tipinde a adinda bir elemanin var diyelim.
sizeof sana o type in byte sayisini doner 32bitlik bir type sa 4 doner orda 1 i 31 kez shift edip MSB ye getiriyor. Yani T typei neyse bu int olur float olur char olur double olur mask elemaninda MSB de 1 gerisinde 0 yaziyor.

Bu maskeyle senin x i bitwise AND lersen msb 1 mi 0 mi bulursun her tip icin.


oh be, compiler'ın error&warning görmesin dayıboy. sağol.
Link to comment
Sosyal ağlarda paylaş

×
×
  • Yeni Oluştur...