TextBox’a girilen Sayıları Sıralamak Vb.Net

TextBox’a girilen Sayıları Sıralamak Vb.Net

1-Bu soruda ikinci defa sayı girişi gerçekleştirmek için sırala butonun sonunda sayac değişkenini sıfırlamanız gerekir.(sayac=0)

2-10 dan fazla sayı girildiği zaman hata mesajı almamak için try-catch hata yakalama komutları kullanılabilir.

[code lang=”vbnet”]

Public Class Form1

Dim sayilar(100) As Integer

Dim sayac As Integer

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

On Error Resume Next

If TextBox1.Text <> "" Then

sayac = sayac + 1

sayilar(sayac) = TextBox1.Text

ListBox1.Items.Add(TextBox1.Text)

TextBox1.Clear()

End If

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

On Error Resume Next

ReDim Preserve sayilar(sayac)

Dim i As Integer

Dim sayac2, gecici As Integer

ListBox2.Items.Clear()

If RadioButton1.Checked = True Then

For i = 1 To sayac – 1

For sayac2 = i + 1 To sayac

If sayilar(sayac2) > sayilar(i) Then

gecici = sayilar(i)

sayilar(i) = sayilar(sayac2)

sayilar(sayac2) = gecici

End If

Next

Next

For i = 1 To sayac

ListBox2.Items.Add(sayilar(i))

Next

End If

If RadioButton2.Checked = True Then

For i = 1 To sayac – 1

For sayac2 = i + 1 To sayac

If sayilar(sayac2) < sayilar(i) Then

gecici = sayilar(i)

sayilar(i) = sayilar(sayac2)

sayilar(sayac2) = gecici

End If

Next

Next

For i = 1 To sayac

ListBox2.Items.Add(sayilar(i))

Next

End If

End Sub

End Class

[/Code]

&lt;span style="color: #ff0000;"&gt;&lt;strong&gt;&lt;span style="text-decoration: underline;"&gt;2. Yol&lt;/span&gt;&lt;/strong&gt; &lt;/span&gt;

&lt;span style="color: #000000;"&gt; &lt;/span&gt;

[code language="vbnet"]

Public Class Form1

Dim sayilar(100) As Integer

Dim sayac As Integer

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

On Error Resume Next

If TextBox1.Text <> "" Then

sayilar(sayac) = TextBox1.Text

ListBox1.Items.Add(TextBox1.Text)

TextBox1.Clear()

sayac = sayac + 1

End If

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

On Error Resume Next

ReDim Preserve sayilar(sayac – 1)

Dim i As Integer

Dim sayac2, gecici As Integer

ListBox2.Items.Clear()

If RadioButton1.Checked = True Then

Array.Sort(sayilar)

Array.Reverse(sayilar)

For i = 0 To sayac

ListBox2.Items.Add(sayilar(i))

Next

End If

If RadioButton2.Checked = True Then

Array.Sort(sayilar)

For i = 0 To sayac

ListBox2.Items.Add(sayilar(i))

Next

End If

End Sub

End Class[/code]

3. Yol (Redim Kullanmadan)

[code language=”vbnet”]

Public Class Form1

Dim sayilar(10) As Integer

Dim sayac As Integer

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

sayac = sayac + 1

sayilar(sayac) = TextBox1.Text

ListBox1.Items.Add(TextBox1.Text)

TextBox1.Clear()

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

Dim sayac2, gecici As Integer

ListBox2.Items.Clear()

If RadioButton1.Checked = True Then

For sayac = 1 To 9

For sayac2 = sayac + 1 To 10

If sayilar(sayac2) > sayilar(sayac) Then

gecici = sayilar(sayac)

sayilar(sayac) = sayilar(sayac2)

sayilar(sayac2) = gecici

End If

Next

Next

For sayac = 1 To 10

ListBox2.Items.Add(sayilar(sayac))

Next

End If

If RadioButton2.Checked = True Then

ListBox2.Items.Clear()

For sayac = 1 To 9

For sayac2 = sayac + 1 To 10

If sayilar(sayac2) < sayilar(sayac) Then

gecici = sayilar(sayac)

sayilar(sayac) = sayilar(sayac2)

sayilar(sayac2) = gecici

End If

Next

Next

For sayac = 1 To 10

ListBox2.Items.Add(sayilar(sayac))

Next

End If

End Sub

End Class

[/code]

Yorumlar 29

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir