Arama butonu
Bu konudaki kullanıcılar: 1 misafir, 1 mobil kullanıcı
17
Cevap
1802
Tıklama
0
Öne Çıkarma
C# Sıralama algoritmaları
O
14 yıl
Onbaşı
Konu Sahibi

Merhaba
Üniversitedeyim ve C# dönem ödevim var.Konusu:
Sıralama Algoritmlarının (Bubble, heap, quick, bucket, binary tree) parametreli ve animasyonlu gösterimi.
Ödevin C# sınırları içinde olması gerekiyormuş yani adam flash vs. başka programa izin verse kolayca yapabilirdim ama şimdi nasıl yapıcam bilmiyorum.Ne biliyim şu şekilde bi algoritma kullan listbox kullan vs. tarzı her türlü öneriye açığım.

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil



T
14 yıl
Yüzbaşı

Geçtiğimiz dönem C++ GDI ile yaptım ben bunların bir kısmını.

Öncelik programın yapısı nasıl olacak ? Sıralanacak sayılar random mı gelecek ?

Sıralamayı nasıl bir grafikle göstereceksin ?

Konsol app mi olacak yoksa GUI mi ? bunları açıklarsan daha kolay yardımcı olabiliriz.


Bu mesaja 1 cevap geldi.
O
14 yıl
Onbaşı
Konu Sahibi

kafamdaki şekil şu:
GUI de yapılacak
Kullanıcıdan 5 sayı istiycem

örneğin bubblesort yaptığımda 5 sayı için max 5 label satırı her satırda 5 label olucak ve sayıları bu labellerde 1.tur 2.tur diye adım adım bubblesortun ilerleyişini göstericem.Burda şöle bir sorun oluşuyor.baya kod kullanmış oluyorum ve bi algoritmaya bağlı tutmadığım için iyi bir ödev olmamış olucak.C# pek bilmiyorum eğer grafikle gösterim çok kolay diosan yada grafiksiz yapıcaksam daha iyi bi fikir lazım.


Bu mesaja 1 cevap geldi.
T
14 yıl
Yüzbaşı

Grafik gösterim iyi veya kötü demiyorum. Farklı derslerde farklı şekillerde yaptırıyor hocalar. Bize hocamız C++ GDI ile yaptırmıştı çok uğraşmıştım ilk c++ projemdi. C#'ta daha iyiyim.
Bu gece (Türkiyede sabah) zamanım olursa algoritmalardan birini yazmayı deneyeceğim , sırf c#'ta nasıl yapabiliyorum görmek ve sana yardım etmek için

Algoritmalar internette hazır hemen hemen her dilde var bunları projene implement etmen çok zor olmayacaktır diye düşünüyorum.

Grafik yapacaksan bir fikir vereyim ,
1) Rectangle adında bir objec oluşturacaksın
2) 5 sayı soracaksan 5 tane instance 'ı olacak bu objenin
3) Herbirinin genişliği ve yüksekliği aynı olacak en başta(sonradan yüksekliği değişecek)
4) Yüksekliklerini bir sabit sayıya oranlayacaksın. 1'e oranlamanı tavsiye ederim.
Örneğin girilen sayılar kaçla kaç arasında olacak ona bir karar vermelisin. Diyelim 1 ve 0 arasında .Kullanıcı 0.5 girerse Rectangle'ın boyu bulunduğu pencerenin boyunun yarısı olacak. 0.3 ise yüzde 30 u olacak. Bu şekilde
5) Bir adet timer'a ihtiyacın olacak bu animasyonu gösterebilmen için.Dilersen butonda koyabilirsin (Next step) diye kullanıcı tıklayarak görür
6)Bu buton sıralama algoritmasına atanmış olacak her tıkta bir adımı yapılacak algoritmanın.
7)Algoritma içerisinde normalde sayıları swap() ettiğin yerde rectangle objelerinin yerlerini de swap edeceksin.
Objelerin yerlerini swap etmek biraz geometri işi. Sanırım sol alt köşe (0,0) kordinat düzleminde.Onun üzerinde swap edeceksin çubuk grafikleri.

Al sana fikir Ne kadar açıklayıcı oldu bilmiyorum ama kafanda birşeyler canlanmıştır. Sen yapmaya başla ben yardımcı olmaya çalışırım


Bu mesaja 2 cevap geldi.
S
14 yıl
Binbaşı

2 sene önce javada yapmıştım bende. proje ödevi olarak. c-sharpta biraz daha kolay yaparsın. eğer fikir edinmek istersen bende bu algoritmaların hepsinin java applet animasyonları var. yalnız kaynak kodu yok. onu da decomopiler ile açarsın.





< Bu mesaj bu kişi tarafından değiştirildi SEGHRİ -- 3 Nisan 2012; 18:32:07 >
Bu mesaja 1 cevap geldi.
O
14 yıl
Onbaşı
Konu Sahibi

quote:

Orijinalden alıntı: takeiteasy

Grafik gösterim iyi veya kötü demiyorum. Farklı derslerde farklı şekillerde yaptırıyor hocalar. Bize hocamız C++ GDI ile yaptırmıştı çok uğraşmıştım ilk c++ projemdi. C#'ta daha iyiyim.
Bu gece (Türkiyede sabah) zamanım olursa algoritmalardan birini yazmayı deneyeceğim , sırf c#'ta nasıl yapabiliyorum görmek ve sana yardım etmek için

Algoritmalar internette hazır hemen hemen her dilde var bunları projene implement etmen çok zor olmayacaktır diye düşünüyorum.

Grafik yapacaksan bir fikir vereyim ,
1) Rectangle adında bir objec oluşturacaksın
2) 5 sayı soracaksan 5 tane instance 'ı olacak bu objenin
3) Herbirinin genişliği ve yüksekliği aynı olacak en başta(sonradan yüksekliği değişecek)
4) Yüksekliklerini bir sabit sayıya oranlayacaksın. 1'e oranlamanı tavsiye ederim.
Örneğin girilen sayılar kaçla kaç arasında olacak ona bir karar vermelisin. Diyelim 1 ve 0 arasında .Kullanıcı 0.5 girerse Rectangle'ın boyu bulunduğu pencerenin boyunun yarısı olacak. 0.3 ise yüzde 30 u olacak. Bu şekilde
5) Bir adet timer'a ihtiyacın olacak bu animasyonu gösterebilmen için.Dilersen butonda koyabilirsin (Next step) diye kullanıcı tıklayarak görür
6)Bu buton sıralama algoritmasına atanmış olacak her tıkta bir adımı yapılacak algoritmanın.
7)Algoritma içerisinde normalde sayıları swap() ettiğin yerde rectangle objelerinin yerlerini de swap edeceksin.
Objelerin yerlerini swap etmek biraz geometri işi. Sanırım sol alt köşe (0,0) kordinat düzleminde.Onun üzerinde swap edeceksin çubuk grafikleri.

Al sana fikir Ne kadar açıklayıcı oldu bilmiyorum ama kafanda birşeyler canlanmıştır. Sen yapmaya başla ben yardımcı olmaya çalışırım

dediğin gibi güzel fikir.Rectangle objesini ilk defa senden duydum.derste hoca genelde listboxa int değer atıp diziye fln atıyo.dolayısıyla objeleri bile bilmiyorken akla fikir gelmio.çok teşekkürler. bunu yapmayı denicem.



O
14 yıl
Onbaşı
Konu Sahibi

quote:

Orijinalden alıntı: SEGHRİ

2 sene önce javada yapmıştım bende. proje ödevi olarak. c-sharpta biraz daha kolay yaparsın. eğer fikir edinmek istersen bende bu algoritmaların hepsinin java applet animasyonları var. yalnız kaynak kodu yok. onu da decomopiler ile açarsın.

aslında harika olur hem farklı fikir olmuş olur hem de kolaylık sağlar bana.


Bu mesaja 2 cevap geldi.
A
14 yıl
Yüzbaşı

grafik kısmı için pictureBox dan çizim yaptırabilirsin bence. Ben olsam öyle yapardım


Bu mesaja 1 cevap geldi.
S
14 yıl
Binbaşı

quote:

Orijinalden alıntı: osunwa

quote:

Orijinalden alıntı: SEGHRİ

2 sene önce javada yapmıştım bende. proje ödevi olarak. c-sharpta biraz daha kolay yaparsın. eğer fikir edinmek istersen bende bu algoritmaların hepsinin java applet animasyonları var. yalnız kaynak kodu yok. onu da decomopiler ile açarsın.

aslında harika olur hem farklı fikir olmuş olur hem de kolaylık sağlar bana.

buyur, hem applet uygulamalar var. hemde bu algoritmaların kodları var.

https://hotfile.com/dl/151912939/837c350/Veri_Yaplar_ve_Algoritmalar.rar.html


Bu mesaja 1 cevap geldi.
S
14 yıl
Binbaşı

ek olarak benim java da yaptığım insertion sort uygulaması ve kod açıklamaları bulunan word dosyası.


Bu mesaja 1 cevap geldi.
O
14 yıl
Onbaşı
Konu Sahibi

quote:

Orijinalden alıntı: aLiM KaFKeF

grafik kısmı için pictureBox dan çizim yaptırabilirsin bence. Ben olsam öyle yapardım

çizimim baya kötüdür.ama pictureboxı incelerim.çizim için yetenek istemiyorsa uğraşılabilir tabi ama önce şu rectangle işine baksam daha iyi olur sanırım.


Bu mesaja 1 cevap geldi.
O
14 yıl
Onbaşı
Konu Sahibi

quote:

Orijinalden alıntı: SEGHRİ

ek olarak benim java da yaptığım insertion sort uygulaması ve kod açıklamaları bulunan word dosyası.

çok teşekkür ederim.burdan algoritmasını anlasam işin yarısından fazlası biter


Bu mesaja 2 cevap geldi.
O
14 yıl
Onbaşı
Konu Sahibi

quote:

Orijinalden alıntı: osunwa

quote:

Orijinalden alıntı: SEGHRİ

ek olarak benim java da yaptığım insertion sort uygulaması ve kod açıklamaları bulunan word dosyası.

çok teşekkür ederim.burdan algoritmasını anlasam işin yarısından fazlası biter.

bu arada bu mesajda en sona link eklemişsin galiba ama çıkmamış



S
14 yıl
Binbaşı

quote:

Orijinalden alıntı: osunwa

quote:

Orijinalden alıntı: SEGHRİ

ek olarak benim java da yaptığım insertion sort uygulaması ve kod açıklamaları bulunan word dosyası.

çok teşekkür ederim.burdan algoritmasını anlasam işin yarısından fazlası biter

sanırım unutmuşum

https://hotfile.com/dl/151913497/f129ddd/3-5.rar.html



bu da java kodlarını görebilmen için gerekli decompiler

https://hotfile.com/dl/151928564/7383466/jd-gui.exe.html





< Bu mesaj bu kişi tarafından değiştirildi SEGHRİ -- 4 Nisan 2012; 19:32:23 >

A
14 yıl
Yüzbaşı

quote:

Orijinalden alıntı: osunwa

quote:

Orijinalden alıntı: aLiM KaFKeF

grafik kısmı için pictureBox dan çizim yaptırabilirsin bence. Ben olsam öyle yapardım

çizimim baya kötüdür.ama pictureboxı incelerim.çizim için yetenek istemiyorsa uğraşılabilir tabi ama önce şu rectangle işine baksam daha iyi olur sanırım.

elle çizim olmuyacak zaten. DrawRectangle, FillRectangle, DrawString vs. methotlarıyla yapıcaksın


Bu mesaja 1 cevap geldi.
O
14 yıl
Onbaşı
Konu Sahibi

quote:

Orijinalden alıntı: aLiM KaFKeF

quote:

Orijinalden alıntı: osunwa

quote:

Orijinalden alıntı: aLiM KaFKeF

grafik kısmı için pictureBox dan çizim yaptırabilirsin bence. Ben olsam öyle yapardım

çizimim baya kötüdür.ama pictureboxı incelerim.çizim için yetenek istemiyorsa uğraşılabilir tabi ama önce şu rectangle işine baksam daha iyi olur sanırım.

elle çizim olmuyacak zaten. DrawRectangle, FillRectangle, DrawString vs. methotlarıyla yapıcaksın

o zaman daha iyi.ona da bi bakarım.teşekkürler


Bu mesaja 1 cevap geldi.
9
14 yıl
Çavuş

http://www.uzmantr.net.tc/c++.html arkadaşlar bu siteden örneklere bakabilirsiniz eğer başka sorularınız varsa iletişim bölümünden sorabilirsiniz


Bu mesaja 1 cevap geldi.
O
14 yıl
Onbaşı
Konu Sahibi

Beyler yardıma ihtiyacım var

Şuanki kodum aşağıdaki kod.Textboxtan 5 sayı çekip listboxa atıyorum.fakat bunları bi sıralamada örneğin bubblesortta kullanabilmem için bu 5 sayıyı diziye çevirmeye çalışıyorum fakat object double çevrilemez uyarısı verio sürekli.bunu aşsam bile sıralama metodunda da object operandlar karşılaştırılamaz uyarısı oluyor.Bunu nasıl çözebilirim?


namespace SıralamaAlgoritmaları
{
public partial class Form1 : Form
{


public Form1()
{
InitializeComponent();
}

private void btnekle_Click(object sender, EventArgs e)
{
try
{

if (listbox1.Items.Count <= 4)
{
double a = Convert.ToDouble(txtekle.Text);
listbox1.Items.Add(txtekle.Text);
txtekle.Text = "";
}
if (listbox1.Items.Count > 4)
{
groupBox1.Enabled = false;
MessageBox.Show("Algoritmanızı Seçiniz.");
}
}
catch { }
}


public void diziyecevir(ListBox listbox1)
{
double[] diziliste=new double[5];
for (int i = 0; i < 4; i++)
{
diziliste=listbox1.Items;
}
}
private void radiobubble_CheckedChanged(object sender, EventArgs e)
{

}
}
}



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.