MetaLMAD
New member
Swap 2 variable ın degerlerinin degismesidir.Bunu uygulamak normalde bir Temp acıp (Backup) variable lardan birinin degerini Temp in icine atarız.
int Temp,x,y;
x=5; y=7;
Temp = x; x = y; y = Temp; // boylece x degerini kaybetmemiş oluruz.
y 5 oldu , x 7.
Kadir Has da Final sorusu olarak cıkmış, Temp-Variable kullanmadan (sadece Long/Double/integerlar icin) Swap kodu we cogu kişi cakılmış Bilgisi birikimi iyi olan arkadaşlarıma abilerime de sordum onlar da bi dona kaldı. Enteresan ; sizinde ilginizi cekebilecegini düşündüm arkadaşlar. Buyrun:
Matematiksel olarak düşünecek olursak:
x = y - x // x i aşagıda yerine yazalım
y = y - x = y - (y - x) = y - y + x = x // y = x oldu , x we y yi yerine yazalım
x = y + x = x + (y - x) = x + y - x = y
sonuc: x = y , y = x.
Boylece kodher koşulda işlevli olacaktır.
(aynı kod çarpma we bolme ile de yazılabilirdi fakat o durumda 0 a bolme durumu olabilecegi icin (payda sıfır,hata werecektir) if structure ile koşul eklememiz gerekirdi..)
Kesinlike kullanışlı degil fakat farklı bir yaklaşım. begeneceginizi umuyorum
int Temp,x,y;
x=5; y=7;
Temp = x; x = y; y = Temp; // boylece x degerini kaybetmemiş oluruz.
y 5 oldu , x 7.
Kadir Has da Final sorusu olarak cıkmış, Temp-Variable kullanmadan (sadece Long/Double/integerlar icin) Swap kodu we cogu kişi cakılmış Bilgisi birikimi iyi olan arkadaşlarıma abilerime de sordum onlar da bi dona kaldı. Enteresan ; sizinde ilginizi cekebilecegini düşündüm arkadaşlar. Buyrun:
Kod:
int x,y;
x = 5;
y = 7;
x = y - x;
y = y - x;
x = y + x;
Matematiksel olarak düşünecek olursak:
x = y - x // x i aşagıda yerine yazalım
y = y - x = y - (y - x) = y - y + x = x // y = x oldu , x we y yi yerine yazalım
x = y + x = x + (y - x) = x + y - x = y
sonuc: x = y , y = x.
Boylece kodher koşulda işlevli olacaktır.
(aynı kod çarpma we bolme ile de yazılabilirdi fakat o durumda 0 a bolme durumu olabilecegi icin (payda sıfır,hata werecektir) if structure ile koşul eklememiz gerekirdi..)
Kesinlike kullanışlı degil fakat farklı bir yaklaşım. begeneceginizi umuyorum