: var mı peki bir değişken ve metod kullanmadan swap yapma olayı.. evet var, hemde 3 satırlık kod ile :), @Destroyer evet doğru (: bir başka yntem, int a = 5;int b = 6;a = a ^ b;b = b ^ a;a = a ^ b; not: çekici olsun diye c# yazdım :) - xx yerde hata var. - ya aslında kod şyle sanıyor olabilir bla bla bla - olm kendine gel kodlar düşünmez - ...

şu şekilde yapılabilir basitçe using System;using System. Collections. Generic;using System. Text;namespace ConsoleApplication1 {class Program{static int a; static int b;public static void swap(int sayi1, int sayi2) static void Main {a = 5;b = 6;Console. WriteLine("a nın değeri \n b nin değeri ", a, b); swap ;Console. WriteLine("a nın değeri \n b nin değeri ", a, b); }}} Biraz bilmek tehlikelidir. Ya derinliklerden iç ya da bilgeliğin tadını tatmaya kalkma! Çünkü sığ sular beyni zehirler, bol sular insanı temizler... pompey

@SharpShooter Hocam mantıklı gelmiyor. Senin C# compiler bozulmuş olmasın. Küçük sayılarla deneyelim. ^ işareti üssü işareti değil mi?int a = 2;int b = 3;a = a ^ b; > 2^3 > a = 8 oldu. b = b ^ a; > 3^8 > b = 6561 oldu. a = a ^ b; > 8^6561 > a = 1.4907494374831386027492982111719e+5925 oldu. Hatalıysam syleyin. d. d.

haha harbi manyak yntemmiş :=) IF YOU ARE NOT TİRED, YOU ARE NOT DOING IT RIGHT

hayır hocam hepsi için çalışır bu yntem.. Biraz bilmek tehlikelidir. Ya derinliklerden iç ya da bilgeliğin tadını tatmaya kalkma! Çünkü sığ sular beyni zehirler, bol sular insanı temizler... pompey

merhaba arkadaşlar, c# hakkında çok basit bi soru soracağım, takıldım bir türlü yapamadımşimdi;2 tane int değişkenimiz var, ahanda şyleint a = 5;int b = 6;şimdi yapmak istediğim hiç bir ek değişken kullanmadan, a'nın değerini b'ye, b'nin değerinide a ya vermeniznot: bakalım kaç kişi bulabilecek :)) - xx yerde hata var. - ya aslında kod şyle sanıyor olabilir bla bla bla - olm kendine gel kodlar düşünmez - ...

bunun hakkinda bir ara bende yazi yazmistim bir sitede. algoritmanin ismi "XOR Swap Algorithm" guncel mimarilerde yavas calistigini ogrendigim benimde kullandigim bir algoritmaydi. http://derlevecalistir.org/ccplusplus/68-genel/72-xor-swap-algoritmasi Edit : Referanslarda aliasing varsa, veyahut 2 farkli refaransin gosterdigi degerler ayniysa patlayip ikisinede 0 sonucunu veren bir algoritma :) o yuzun aliasing ve ayni iki sayi olmamasi icin ekstra kosul gerekiyor

üslü olarak almıyor hocam ^ bu... a=5;b=6;a = a ^ b; //5 ^ 6 = 3, yani artık a = 3 oldub = b ^ a; //6 ^ 3 = 5 buradan da b= 5 oluyora = a ^ b; //3^5=6 buradan da a = 6 oluyor Biraz bilmek tehlikelidir. Ya derinliklerden iç ya da bilgeliğin tadını tatmaya kalkma! Çünkü sığ sular beyni zehirler, bol sular insanı temizler... pompey

: süper konu, bildiğiniz farklı yada ilgilendiğiniz algoritmalar varsa onlarıda yazarmısınız hocalar? üstad elbetteki ben ve burdaki çoğu arkadar yüzlerce algoritma ile ilgilenip bilgi sahibidir. bunlari yazip anlatmak biraz zor olur fakat, benim cok sevdigim, kimi zaman bos zamanlarimda degisik algoritma ve islevselliklerini ogrenip hayatima eklmeye calistigim algoritmalari ogrendigim basit bir site var. http://en. wikipedia. org/wiki/List_of_algorithmsburadan başlıklar halinde listenmiş yüzlerce algoritma grebilirsin. sonra istediğin algoritmanın üstüne tıklayıp, o algoritmanın kendi sayfasinda, amacını, yaptıklarını, gereksinimlerini, complexity sini vs vs hatta hareketli resim olarak nasıl bir şekilde yaptığını bulabilirsin. türkçe olarak sayfa mevcut : http://tr. wikipedia. org/wiki/Algoritma_listesi linkten grülebildiği kadar fakat malesef çok az algoritmanin kendi sayfasi türkçeye çevrilebilmiş. o yüzden ingilizce olan sayfadan çok güzel detayli bilgiler alabilirsin.

Çzüm 2 bilinmeyenli 2 değişken mantığı ile yapılmalıdır başka bir yolu olduğunu da sanmam. Gerçi bu mantıkta SONSUZ farklı çzüm vardır... Destroyer olayı çzmüş.

: şu şekilde yapılabilir basitçe using System;using System. Collections. Generic;using System. Text;namespace ConsoleApplication1 {class Program{static int a; static int b;public static void swap(int sayi1, int sayi2) static void Main {a = 5;b = 6;Console. WriteLine("a nın değeri \n b nin değeri ", a, b); swap ;Console. WriteLine("a nın değeri \n b nin değeri ", a, b); }}} hocam "ek değişken kullanmadan" bundan ne anlıyorsun?, sen değişkeni bırak metot kullanmışsın zaten işin fantezisi o :). - xx yerde hata var. - ya aslında kod şyle sanıyor olabilir bla bla bla - olm kendine gel kodlar düşünmez - ...

: @SharpShooter a = a ^ b;b = b ^ a;a = a ^ b; Bunda bir hata var sanki?!? hayır hocam :)int a = 5;int b = 6;a = a ^ b;b = b ^ a;a = a ^ b;MessageBox. Show(a. ToString + "-"+ b. ToString ; çıkan sonuç: 6-5 - xx yerde hata var. - ya aslında kod şyle sanıyor olabilir bla bla bla - olm kendine gel kodlar düşünmez - ...

@SharpShooterula şimdi anladım. bitwise division'dan bahsediyonuz. Kanımca bu sadece 5 ve 6 sayıları için çalışır. Dimi? :) d. d.

: @SharpShooter Hocam mantıklı gelmiyor. Senin C# compiler bozulmuş olmasın. Küçük sayılarla deneyelim. ^ işareti üssü işareti değil mi?int a = 2;int b = 3;a = a ^ b; > 2^3 > a = 8 oldu. b = b ^ a; > 3^8 > b = 6561 oldu. a = a ^ b; > 8^6561 > a = 1.4907494374831386027492982111719e+5925 oldu. Hatalıysam syleyin. benim yntemin iç yüzü şyleint a = 5; ramde şyle tutuluyor > 101int b = 6; ramde şyle tutuluyor > 110şimdi 101110sağdan başlayarak, 1'i 0 a blersek kalan 1 olur, 0'ı 1'e blersek gene kalan 1, 1 blü 1 dende kalan 0 yani a nın son değeri = 011 yani 32. satırda ise b nin değeri101 yani 5, son durumda a da = 3b de = 5 var en sonda isea= 011 -->3 b= 101 -->5 yani, 1 blü 1 kalan 0, 1 blü 0 kalan 1, 0 blü 1 kalan 1yani a da en sona = 110 = 6not: benim yntem byle :) - xx yerde hata var. - ya aslında kod şyle sanıyor olabilir bla bla bla - olm kendine gel kodlar düşünmez - ...

sileyim bunu:) Biraz bilmek tehlikelidir. Ya derinliklerden iç ya da bilgeliğin tadını tatmaya kalkma! Çünkü sığ sular beyni zehirler, bol sular insanı temizler... pompey

süper konu, bildiğiniz farklı yada ilgilendiğiniz algoritmalar varsa onlarıda yazarmısınız hocalar?

int a = 5;int b = 6;a = 2 a + b;edit: b = / 2;a = a - 2 b; Not: C# sorusu değil, genel bir sorudur. d. d.

kendi fonksiyonumu kullandım, ne oldu ki? Farzı misal c# da da byle bir fonksiyon olduğunu düşün.. nasıl ki pow metodunda üst almak için birşeyler yazmıyorsun hazır math sınıfını kullanıyorsun bunu da swap fonk. olarak düşün :)başka türlü aklıma birşey gelmedi şuan Biraz bilmek tehlikelidir. Ya derinliklerden iç ya da bilgeliğin tadını tatmaya kalkma! Çünkü sığ sular beyni zehirler, bol sular insanı temizler... pompey

denedim, valla oluyor :D d. d.

^ hocam bu işaret matematikte veya mantıkta ne olarak kullanılıyor. C# ne anlamda kullanmış anlayamadım. İsmini syleyebilir misin?Peki bu işaret 5 ve 6 dışında başka sayılar için de doğru sonuç veriyor mu? d. d.

: kendi fonksiyonumu kullandım, ne oldu ki? Farzı misal c# da da byle bir fonksiyon olduğunu düşün.. nasıl ki pow metodunda üst almak için birşeyler yazmıyorsun hazır math sınıfını kullanıyorsun bunu da swap fonk. olarak düşün :)başka türlü aklıma birşey gelmedi şuan amacımın gerçekten, a nın değerini b ye aktarmak olduğunu mu düşünüyorsun yoksa? :)ben sadece biraz eğlenelim istedim, alın size geyik :)) - xx yerde hata var. - ya aslında kod şyle sanıyor olabilir bla bla bla - olm kendine gel kodlar düşünmez - ...

@SharpShooter a = a ^ b;b = b ^ a;a = a ^ b; Bunda bir hata var sanki?!? d. d.

var mı peki bir değişken ve metod kullanmadan swap yapma olayı.. Biraz bilmek tehlikelidir. Ya derinliklerden iç ya da bilgeliğin tadını tatmaya kalkma! Çünkü sığ sular beyni zehirler, bol sular insanı temizler... pompey