Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.80/98: Рейтинг темы: голосов - 98, средняя оценка - 4.80
2 / 2 / 0
Регистрация: 28.03.2010
Сообщений: 29

Сортировка массива чисел по возрастанию

12.04.2010, 14:52. Показов 19987. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дан. Следующий код. Но его надо изменить так, чтобы он сравнивал не просто все подряд числа, а отсортировывал только то, что осталось от массива чисел. Пример на скрине.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Private Sub Command1_Click()
Label1.Caption = " "
Label2.Caption = Label1.Caption
Label1.Font.Size = 18
Label2.Font.Size = Label1.Font.Size
Dim massive(9) As Long, i As Integer, J As Integer, N As Integer, Tmp As Double
Randomize (Time)
For i = 0 To 9
massive(i) = Rnd() * 10
Next i
For i = 0 To 9
Label1.Caption = Label1.Caption & massive(i) & Space(3)
Next i
 
 
N = 9
For i = 0 To N - 1
For J = i To N
  If massive(i) < massive(J) Then
               Tmp = massive(J)
               massive(J) = massive(i)
               massive(i) = Tmp
            End If
        Next J
Label2.Caption = Label2.Caption & massive(i) & Space(3)
Next i
Label2.Caption = Label2.Caption & massive(N)
End Sub
Миниатюры
Сортировка массива чисел по возрастанию  
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.04.2010, 14:52
Ответы с готовыми решениями:

Сортировка массива чисел по возрастанию
Здравствуйте, форумчане! Я не учусь на программиста и поэтому я здесь. Нужно, чтобы в лэйбл1 выводился рандомный массив чисел, а в лэйбл2...

Сортировка одномерного массива по возрастанию
помогите написать программку для сортировки одномерного массива по возрастанию

Сортировка массива по возрастанию методом вставки
Здравствуйте такая ситуация, мне нужна помощь в небольшом пояснении метода сортировки вставкой Вот допустим я сгенерировал исходный...

20
 Аватар для YuraAAA
1605 / 1337 / 291
Регистрация: 25.10.2009
Сообщений: 3,487
Записей в блоге: 2
12.04.2010, 15:14
На сколько я понял,Вам нужен алгоритм сортировки "выбором элемента".
Тогда код сортировки такой:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
Dim r As Integer, k As Integer
Dim i, j
For i = 2 To N
For j = 1 To i - 1
If massive(j) > massive(i) Then
r = massive(i)
For k = i To j + 1 Step -1
massive(k) = massive(k - 1)
Next k
massive(j) = r
End If
Next j
Next i
0
2 / 2 / 0
Регистрация: 28.03.2010
Сообщений: 29
12.04.2010, 15:20  [ТС]
Нет, Ваш код показывает самое большое число в лэйбл2, а нужно, чтобы получалось так же, как в приведенном коде, только запись другая.
0
 Аватар для YuraAAA
1605 / 1337 / 291
Регистрация: 25.10.2009
Сообщений: 3,487
Записей в блоге: 2
12.04.2010, 15:49
Вы издеваетесь?) Как самое большое?)
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Dim r As Integer, k As Integer
Dim i, j
For i = 2 To N
For j = 1 To i - 1
If massive(j) > massive(i) Then
r = massive(i)
For k = i To j + 1 Step -1
massive(k) = massive(k - 1)
Next k
massive(j) = r
End If
Next j
Next i
'Допишите ещё 1 цикл
For i=1 to N
Label2=Label2 & massive(i) & Space(3)
next i
У меня он нормально отсортировал массив
0
2 / 2 / 0
Регистрация: 28.03.2010
Сообщений: 29
12.04.2010, 15:57  [ТС]
Спасибо большое! Был ты рядом, денег кинул на телефон))
А можете нарисовать на бумажке блок-схему к этой части кода?
0
 Аватар для YuraAAA
1605 / 1337 / 291
Регистрация: 25.10.2009
Сообщений: 3,487
Записей в блоге: 2
12.04.2010, 16:20
Можете на Web-Money кинуть
Блок-схема...ммм..ну думаю как-то так:
Миниатюры
Сортировка массива чисел по возрастанию  
1
2 / 2 / 0
Регистрация: 28.03.2010
Сообщений: 29
12.04.2010, 16:23  [ТС]
Номер в лс, попрошу друга закинуть.
0
0 / 0 / 0
Регистрация: 24.06.2014
Сообщений: 10
24.06.2014, 21:13
Добрый день . Помогите пожалуйста нужен код в бейсике. Для сортировки массива (метод пузырька)на большое число
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38160 / 21095 / 4306
Регистрация: 12.02.2012
Сообщений: 34,677
Записей в блоге: 14
24.06.2014, 21:23
Что значит "сортировка на большое число"?
0
0 / 0 / 0
Регистрация: 24.06.2014
Сообщений: 10
24.06.2014, 21:45
YuraAAA, добрый день помогите

Добавлено через 1 минуту
сказали что бы массив 2.5 милиона отсортировал за 2.5 минуты

Добавлено через 1 минуту
може ли помоч

Добавлено через 59 секунд
могу скинуть код какойя написал

Добавлено через 6 минут
Dim m(10) что бы заместо 10 бало 2.5 милиона

Добавлено через 10 минут
поможите
0
 Аватар для Антихакер32
1201 / 473 / 46
Регистрация: 06.01.2014
Сообщений: 1,797
Записей в блоге: 19
24.06.2014, 23:18
https://www.cyberforum.ru/post6285971.html

Добавлено через 3 минуты
Ограничений по величине массива нет, а алгоритм быстрой сортировки,
два миллиона чисел отсортирует менее чем за секунду
0
0 / 0 / 0
Регистрация: 24.06.2014
Сообщений: 10
24.06.2014, 23:22
А можно код
0
 Аватар для Антихакер32
1201 / 473 / 46
Регистрация: 06.01.2014
Сообщений: 1,797
Записей в блоге: 19
24.06.2014, 23:22
Цитата Сообщение от goga Посмотреть сообщение
А можно код
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
Option Explicit
'
'   © Антихакер32™
'
'1. Дан ряд символов. Создать одномерный массив, элементами которого есть слова данной строки.
'2. Отсортировать массив по возрастанию.
'3. Организовать поиск в отсортированном массиве.
Dim j$()
 
Private Sub Form_Activate()
    Dim s$, f&, u&
    'Для примера берём какой-либо текст
    s = "Дан ряд символов. Создать одномерный массив, элементами которого есть слова данной строки."
    j = Split(LCase(s)): u = UBound(j) 'Разбиваем на слова
    qSort 0, u: Cls 'Быстро сотрируем и выводим отсортированный список
    For f = 0 To u: Print f & " " & j(f): Next
    Print
    Print "Ищем слово одномерный"
    f = Find("одномерный")
    Print "Находим " & f & " позицию в списке = [" & j(f) & "]"
End Sub
Public Function Find&(Elm$)
    Dim max&, f&
    max = UBound(j)
    For f = 0 To Log(max - 1) / Log(2) + 1
        Find = (Find + max) \ 2
        If Elm > j(Find) Then
            Find = Find + 1
        ElseIf Elm < j(Find) Then max = Find - 1
        Else: Exit Function
        End If
    Next
    Find = -1
End Function
Private Sub qSort(ByVal low As Long, ByVal high As Long)
    Dim I As Long, L As Long, M As String, wsp As String
    I = low: L = high: M = j((I + L) \ 2)
    Do Until I > L: Do While j(I) < M: I = I + 1: Loop: Do While j(L) > M: L = L - 1: Loop
        If (I <= L) Then wsp = j(I): j(I) = j(L): j(L) = wsp: I = I + 1: L = L - 1
    Loop
    If low < L Then qSort low, L
    If I < high Then qSort I, high
End Sub
0
0 / 0 / 0
Регистрация: 24.06.2014
Сообщений: 10
24.06.2014, 23:40
Только код и скин формы

Добавлено через 11 минут
сколь по цене

Добавлено через 1 минуту
забыл с генератором случайных чисел

Добавлено через 3 минуты
на коде ни че не понял . извини если что не так просто я в информатике 0
0
0 / 0 / 0
Регистрация: 24.06.2014
Сообщений: 10
24.06.2014, 23:59
блин я тут недавно не знаю как личным сообщение отправлять
0
 Аватар для Антихакер32
1201 / 473 / 46
Регистрация: 06.01.2014
Сообщений: 1,797
Записей в блоге: 19
25.06.2014, 00:28
вот ссыль: https://www.cyberforum.ru/priv... m&u=445967
и еще ссыль которая у меня в подписи..
0
0 / 0 / 0
Регистрация: 24.06.2014
Сообщений: 10
25.06.2014, 00:38
Не могу написать. Вобщем надо генератор случайных чисел потом сортировку код и скины формы со всеми кнопками

Добавлено через 3 минуты
Мне надо это завтра к 9 утра
0
 Аватар для Антихакер32
1201 / 473 / 46
Регистрация: 06.01.2014
Сообщений: 1,797
Записей в блоге: 19
25.06.2014, 00:58
ищи на форуме, здесь много примеров есть..
Visual Basic
1
2
3
4
dim j$(): s$
randomize timer
for f=0 to 2500000: s=s & str(fix (rnd*2^30)):next
j=split(mid$(s,2)) 'Получаем массив величиной 2500000 с рассбросом чисел от 0 до 1073741824
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38160 / 21095 / 4306
Регистрация: 12.02.2012
Сообщений: 34,677
Записей в блоге: 14
25.06.2014, 11:14
Лучший ответ Сообщение было отмечено The trick как решение

Решение

Сортировка подсчетом. Работает значительно быстрее.

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Sub Task()
Dim X(1 To 2500000) As Integer
    Randomize
    For i& = 1 To 2500000
        X(i&) = Rnd * 300
    Next i&
    For i& = 20000 To 20400
        Debug.Print X(i&)
    Next i&
    SortCount X
    For i& = 20000 To 20400
        Debug.Print X(i&)
    Next i&
End Sub
 
Sub SortCount(X() As Integer)
Dim Y(0 To 300) As Long
    For i& = 1 To UBound(X, 1)
        j& = X(i&)
        Y(j&) = Y(j&) + 1
    Next i&
    k& = 1
    For j& = 0 To 300
        If Y(j&) > 0 Then
           For i& = 1 To Y(j&)
               X(k&) = j&
               k& = k& + 1
           Next i&
        End If
    Next j&
End Sub
2
Модератор
10046 / 3892 / 883
Регистрация: 22.02.2013
Сообщений: 5,844
Записей в блоге: 79
25.06.2014, 11:16
goga, https://www.cyberforum.ru/abou... 82784.html.
В зависимости от количества сообщений, пользователи форума имеют следующие права:
До 5 сообщений и менее 2 дней на форуме.
...
Запрещено:
...
отправка личных сообщений,
...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.06.2014, 11:16
Помогаю со студенческими работами здесь

Сортировка массива по возрастанию нечетных элементов
Помогите пожалуйста, мне нужно отсортировать одномерный массив так, чтобы сначала стояли упорядоченные по возрастанию нечетные элементы, а...

Сортировка массива целых чисел по возрастанию
Отсортировать заданный массив целых чисел А(I) в порядке возрастания их значений. I=1,2,...,10. В ассемблере я полный 0, прошу помощи,...

Сортировка по возрастанию (убыванию) массива из N вещественных чисел
Описать программу SortInc (A,N) (SortDec (A,N)), выполняющую сортировку по возрастанию (убыванию)массива А из N вещественных чисел. Массив...

Сортировка массива строк по алфавиту и возрастанию чисел
Здравствуйте. Есть строки в массиве: L_1_Dune-2-DOS.ogg L_2_Dune-2-DOS.ogg L_3_Dune-2-DOS.ogg L_4_Dune-2-DOS.ogg ...

Сортировка одномерного массива целых чисел по возрастанию методом быстрой сортировки
Написать программу для сортировки одномерного массива целых чисел по возрастанию методом быстрой сортировки. Размерность массива, а также...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru