2016-09-23 2 views
0

10 개의 다른 텍스트 상자에 10 개의 다른 숫자를 입력 할 수있는 프로그램을 만들어야합니다. 텍스트 상자의 숫자는 최소값에서 최대 값으로 정렬되어야합니다 (버튼 클릭 이벤트에 의해 트리거 됨). 이 작업을 수행 할 배열을 만들 것으로 예상됩니다.Visual Basic의 거품 정렬 상자 2015

I 몇 힌트

  • 부여 된 I = 0-9 '등 J위한

  • 셋째 둘째 첫째, 대 루프 = I + 1~9'루프 는 "이런 모든 다른

  • 내가 전환해야 값 대 -> X = 임시 ->X = Y -> Y = 임시은! 이것은 단지 수행해야하는 경우 X> Y

나는이 작업을 수행 할 것입니다 방법을 이해하고, 나는 각 텍스트 상자 값에 대한 변수를 선언하고 각각의 경우에 대한 if 문을 만든 경우 내가 그것을 할 수 비교하지만, 나는 이것이 내가 어떻게해야하는지 알지 못한다. 가능한 한 효율적으로 어떻게이 작업을 수행 할 수 있습니까? 내가 가진 무엇

지금까지

Public Class Form1 
Dim I As Integer = 0 
Dim J As Integer = 0 
Dim Temp As Integer 
Dim number(9) As Integer 






Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load 

End Sub 





Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
    number(0) = Convert.ToInt64(TextBox1.Text) 
    number(1) = Convert.ToInt64(TextBox2.Text) 
    number(2) = Convert.ToInt32(TextBox3.Text) 
    number(3) = Convert.ToInt64(TextBox4.Text) 
    number(4) = Convert.ToInt64(TextBox5.Text) 
    number(5) = Convert.ToInt64(TextBox6.Text) 
    number(6) = Convert.ToInt64(TextBox7.Text) 
    number(7) = Convert.ToInt64(TextBox8.Text) 
    number(8) = Convert.ToInt64(TextBox9.Text) 
    number(9) = Convert.ToInt64(TextBox10.Text) 


    For I = 0 To 9 

     If number(I) > number(I + 1) Then 
      Temp = number(I) 
      number(I) = number(I + 1) 
      number(I + 1) = Temp 

      For J = I + 1 To 9 
       If I > J Then 
        Temp = number(I) 
        number(I) = number(J) 
        number(J) = Temp 
       End If 
       J = J + 1 
      Next 

     End If 
     I = I + 1 
    Next 









End Sub 

최종 클래스

답변

-1

난이 도움이되기를 바랍니다 : D

public sub getInputs() 

    dim inputs() sa integer = {Val(textbox1.text),Val(textbox2.text),..} 
    return inputs 
end sub 

public sub bubblesort(inputsArr() as Integer) 
dim sorted as boolean = false 
dim x,y as Integer 
dim i as integer = 0; 
while (sorted = false) 
    do until i = inputs.Lenght 
     'current data 
     dim x = inputs(i) 
     'next data 
     y = inputs(i+1) 
     if(y<x) then 
      'Swap Data 
      inputs(i) = y 
      inputs(i+1)=x 
      sorted = false 
     end if 

    i=i+1 
    loop 
end while 
return inputs 
end sub 

// 다음 버튼을 호출

dim inputs() as Integer = getInputs() 
bubblesort(inputs) 
+0

그것을 포스터의 목적을 거의 상쇄합니다. 코스가 불려지 지 않으면 과제를 부여받습니다. * 인터넷에 작품을 올리는 방법과 시도하지 않고도 복사/붙여 넣기를 할 수있는 다른 누군가를 얻는 방법, 그렇지 않습니까? 이것은 숙제 완료 사이트가 아닙니다. –

+0

실제로는 성공하기 때문에 이러한 개념을 이해할 필요가 있기 때문에 복사 및 붙여 넣기를 시도하지 않고 있으면 생산성이 떨어집니다. 나는 이것을 두 시간 동안 생각해 왔으며 정직하게 도움이 필요하다. 대답은 도움이되지만 여전히 프로젝트의 전체 기준에 맞게 조정해야합니다. – ue4teu

+0

나는 단지 그것이 어떻게 작동하는지에 대한 아이디어를주고 싶지만 코드를 짧게 만들려고 노력한다. 내 대답을 편집 할게 – Paul