Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Как упорядочить числа по возрастанию Добавлено: 12.07.04 13:26  

Автор вопроса:  ASiD | ICQ: 259132473 
Как упорядочить n-ое количество чисел по возрастанию, начиная с наибольшего?

Ответить

  Ответы Всего ответов: 9  

Номер ответа: 1
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #1
Добавлено: 12.07.04 14:18
см. методы сортировки...

Ответить

Номер ответа: 2
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #2 Добавлено: 12.07.04 16:35
где их тебе упорядочит? в листе оно само может, в массиве булевским методом могу

Ответить

Номер ответа: 3
Автор ответа:
 ViktorZ



ICQ: 271202919 

Вопросов: 56
Ответов: 837
 Профиль | | #3 Добавлено: 12.07.04 20:04
Блин тебе скока лет. Этому еще в классе 8 учат.

Ответить

Номер ответа: 4
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #4 Добавлено: 12.07.04 23:43
та ладно... вот у меня информатика токо с 10 ого класса, и то мы программирование не проходили

Ответить

Номер ответа: 5
Автор ответа:
 Pashenko



ICQ: 176176951 

Вопросов: 14
Ответов: 655
 Профиль | | #5 Добавлено: 13.07.04 11:04
Вообще говоря, простейший метод сортировки изучают в первом классе средней школы, причём ВСЕ поголовно.

Ответить

Номер ответа: 6
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #6
Добавлено: 13.07.04 12:20
2Pashenko, не помню :)))
Помню пузырек, Щелла, и еще кого-то... но это было в классе 8ом... сейчас уже не помню...
Кстати, в институте, там и сортировок нам не давали... наверное... хотя откуда мне знать, я за весь семестр на информатике раза два был :))

Ответить

Номер ответа: 7
Автор ответа:
 Fallout



Вопросов: 10
Ответов: 387
 Web-сайт: mudator.by.ru
 Профиль | | #7
Добавлено: 13.07.04 15:18
Вопрос: Как упорядочить числа по возрастанию
Как упорядочить n-ое количество чисел по возрастанию, начиная с наибольшего?

...что то я не понимаю... упорядочить ПО ВОЗРАСТАНИЮ начиная с НАИБОЛЬШЕГО .... это как так? так то бишь во повзрастанию это .... имея 2 3 1 получаем 1 2 3... так а нам надо начиная с наибольшего ... то бишь первое число будет 3 а далее по возрастанию как и требуется в условии получаем 3 1 2 =)?

Ответить

Номер ответа: 8
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #8 Добавлено: 13.07.04 18:05
короче проще всего создай времменный лист

Ответить

Номер ответа: 9
Автор ответа:
 Mihalыch



ICQ: 373-509-101 

Вопросов: 56
Ответов: 330
 Профиль | | #9 Добавлено: 18.07.04 19:29
Днржи:

Option Explicit
Option Base 1
Dim mas(), mas1() As Integer
Dim n As Long
Dim i, j, Flag1 As Integer
Dim Flag As Boolean
Dim Takt As Double

Private Sub CmdCencel_Click()
    L1.Clear
    Takt = 0
    CmdCencel.Enabled = False
    cmdDecrase.Enabled = True
    cmdIncrease.Enabled = True
    For i = 1 To n
        L1.AddItem mas1(i)
    Next
End Sub

Private Sub cmdDecrase_Click()
    L1.Clear
    Takt = 0
    Flag = True
    CmdCencel.Enabled = True
    cmdDecrase.Enabled = False
    cmdIncrease.Enabled = True
    Sort (n)
End Sub

Private Sub cmdExit_Click()
    ;Dim mb As String
    mb = MsgBox("Завершить работу ?", vbQuestion + vbYesNo, "Выход";)
    If mb = vbYes Then End
End Sub

Private Sub cmdIncrease_Click()
    L1.Clear
    Flag = False
    Takt = 0
    CmdCencel.Enabled = True
    cmdIncrease.Enabled = False
    cmdDecrase.Enabled = True
    Sort (n)
End Sub

Private Sub cmdRez_Click()
    L1.Clear
    n = Val(InputBox("Введите размерность массива", "Количество эламентов в массиве";))
        Takt = 0
        If (Not IsNumeric(n)) Or n < 1 Or n > 32767 Then
            MsgBox "Размарность данного массива может принимать значения от 0 до 32767 ", vbCritical, "Ошибка ввода"
        Else
            PB.Visible = True
            ReDim mas(n): ReDim mas1(n)
        For i = 1 To n
            mas(i) = Int(Rnd * n) + 1
            mas1(i) = mas(i)
            L1.AddItem mas(i)
            PB.Value = i: PB.Min = 1: PB.max = n
        Next
            PB.Visible = False
            cmdIncrease.Enabled = True
            cmdDecrase.Enabled = True
            CmdCencel.Enabled = False
        End If
End Sub
Private Sub Sort(m As Integer)
    ;Dim prom As Integer
    ;Dim Caunter As Integer
    If OpReplase.Value = True And Flag = False Then
        PB.Visible = True
        i = 1
        For i = 1 To n - i
           Takt = Takt + 1
        For j = 1 To n - i
           Takt = Takt + 1
            If mas(j) > mas(j + 1) Then
                prom = mas(j + 1)
                mas(j + 1) = mas(j)
                mas(j) = prom
            End If
        Next
        PB.Value = i: PB.Min = 1: PB.max = n
        Next
        PB.Visible = False
        For i = 1 To n
            L1.AddItem mas(i)
        Next
        Flag1 = 1
        CmdStat.Enabled = True
   ElseIf OpReplase.Value = True And Flag = True Then
        PB.Visible = True
        i = 1
        For i = 1 To m - i
            Takt = Takt + 1
        For j = 1 To m - i
            Takt = Takt + 1
            If mas(j) < mas(j + 1) Then
                prom = mas(j + 1)
                mas(j + 1) = mas(j)
                mas(j) = prom
            End If
        Next
        PB.Value = i: PB.Min = 1: PB.max = n
        Next
        PB.Visible = False
        For i = 1 To n
            L1.AddItem mas(i)
        Next
        Flag1 = 2
        CmdStat.Enabled = True
    ElseIf OpSelect.Value = True And Flag = True Then
        PB.Visible = True
        ;Dim max As Integer
        i = 1
        For i = 1 To n
             Takt = Takt + 1
        For j = i To n
             Takt = Takt + 1
             If mas(j) > max Then
                 max = mas(j)
                 Caunter = j
             End If
         Next
                mas(Caunter) = mas(i)
                mas(i) = max
                max = 1
        PB.Value = i: PB.Min = 1: PB.max = n
        Next
        PB.Visible = False
        For i = 1 To n
             L1.AddItem mas(i)
        Next
        Flag1 = 3
        CmdStat.Enabled = True
    ElseIf OpSelect.Value = True And Flag = False Then
        PB.Visible = True
        ;Dim Min As Integer
        Min = 32767: i = 1
        For i = 1 To n
            Takt = Takt + 1
        For j = i To n
            Takt = Takt + 1
            If mas(j) < Min Then
                Min = mas(j)
                Caunter = j
            End If
        Next
            mas(Caunter) = mas(i)
            mas(i) = Min
            L1.AddItem mas(i)
            Min = 32767
        PB.Value = i: PB.Min = 1: PB.max = n
        Next
        Flag1 = 4
        PB.Visible = False
        CmdStat.Enabled = True
    End If
End Sub

Private Sub CmdStat_Click()
    ;Dim strMsg, strSort As String
    ;Dim strTakt, strStep As String
    If n Mod 10 = 1 And n Mod 100 <> 11 Then
        strStep = " элемент"
    ElseIf n Mod 10 = 2 Or n Mod 10 = 3 Or n Mod 10 = 4 Then
        strStep = " эемента"
    Else
        strStep = " элементов"
    End If
    If Takt Mod 10 = 1 And Takt Mod 100 <> 11 Then
        strTakt = " шаг"
    ElseIf Takt Mod 10 = 2 Or Takt Mod 10 = 3 Or Takt Mod 10 = 4 Then
        strTakt = " шага"
    Else
        strTakt = " шагов"
    End If
    If Takt <> 0 Then
    If OpSelect.Value = True And (Flag1 = 3 Or Flag1 = 4) Then
        strMsg = " 'Выбора', "
    ElseIf OpReplase.Value = True And (Flag1 = 3 Or Flag1 = 4) Then
        strMsg = " 'Выбора', "
    ElseIf OpReplase.Value = True And (Flag1 = 1 Or Flag1 = 2) Then
        strMsg = " 'Обмена' (пузырьковый метод), "
    Else
        strMsg = " 'Обмена' (пузырьковый метод), "
    End If
    If Flag = False Then
        strSort = " по возрастанию "
    Else
        strSort = " по убыванию "
    End If
    MsgBox "Массив содержит " & n & strStep & " , выстроен " & strSort & " методом " & strMsg & " прграмма сортировки выполнила " & Takt & strTakt, vbInformation, "Результат сортировки"
    Else
        MsgBox "Массив содержит " & n & strStep & " , не отсортирован", vbInformation, "О массиве"
    End If
End Sub

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам