Selam arkadaslar.1 sorum var.Shunting yard algoritmasini yaziyorum.C dilinde yazilmis 1 kodun ne oldugunu anlamadim.yardimci olurmusunuz bu kod ne demek istiyor diye?defaultda ne demek istiyor anlamadim.

enter code here
unsigned int op_arg_count(const char c)
{
 switch(c)  {
    case '*': case '/': case '%': case '+': case '-': case '=':
        return 2;
    case '!':
        return 1;
    default:
        return c - 'A';
}
return 0;

}

soruldu: 11 Tem '12, 15:13

hale's gravatar image

hale
127343642
cevap kabul oranı: 0%

değiştirildi: 11 Tem '12, 16:33

CemIkta's gravatar image

CemIkta ♦
19.9k29125190


Parametere olarak gelen char tipindeki değere göre göre bir unsigned int değer dönen fonksiyon var.

Test amaçlı 'a'-'A' 'nın sonucunu okuldaki Online C compiler üzerinden test ettim. 32 . 'a'....'z' ' ye kadar 1'er artış gösteriyor 'z' 57 sorada 'A'.. 'Z' : 0 .. 25 gibi.

Online C Compiler

permanent link

cevaplandı: 12 Tem '12, 02:20

Turgay%20Can's gravatar image

Turgay Can
8.3k63798
cevap kabul oranı: 18%

değiştirildi: 12 Tem '12, 02:22

char, C'de 8 bitlik, tam sayı ailesinden bir veri tipi ve sayisal olarak ascii koduna karsilik gelir. yani 'A'= 65; 'B'=66; '1'=49, 'a'=97, ... gibi

c - 'A' ile de gelen parametre ile A harfi arasindaki fark, yani A dan sonraki kacinci harf oldugu bulunabilir. 'D' - 'A' = 3 gibi.

=====

yukaridaki fonksiyon anladigim kadariyla, gelen karaktere gore ( o karakter bir operator veya fonksiyon ifade ediyor gibi ) kac operand/parametre almasi gerektigini belirliyor. +,-,%,/.. ler matematiksel ifadeler olmasi lazim ve bunlar iki operand alirlar ( 4+5, 5-2, 6%4 gibi ) dogrudan 2 donuyor, ! ise sanirim "degil" anlamindaki operator ve tek parametre alir.

A, B, C, .. gibi seyler ise programcinin kendi tanimladigi bazi islemler/fonskiyonlar olmali. sanirim, parametre sayisi ile fonksiyon ismi arasinda programcinin kurdugu bir iliski. A parametresizdir, B tek parametreli, D 3 parametreli, E 4 parametreli gibi. A(), B(p1), C( p1, p2 ) , D( p1, p2, p3 ), ... bu sekilde basitce parametre sayisini fonksiyonun ismine bakarak bulabiliyor.

umarim dogrudur :)

permanent link

cevaplandı: 12 Tem '12, 12:45

tafali's gravatar image

tafali
4593412
cevap kabul oranı: 12%

Dostum ek olarak 32 ve 64 bit işletim sistemlerinde veri tiplerinin tutulduğu alanlar değişkenlik gösteriyor.

(12 Tem '12, 14:15) Turgay Can Turgay%20Can's gravatar image
Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×1,079
×42

Soruldu: 11 Tem '12, 15:13

Görüntüleme: 939 kez

Son güncelleme: 12 Tem '12, 14:15

powered by BitNami OSQA