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

Программа не сортирует массив из чисел, заданный txt файлом

16.06.2010, 15:02. Показов 1073. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброе время суток Господа!

Программа не сортирует массив из чисел, заданный txt файлом, чтение проходит хорошо, данные выводятся в picture1, а далее сортировка по методу вставки, косячит.

Посмотрите пожалуйста свежим профессиональным глазом, заранее огромное спасибо!


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
44
45
46
47
48
49
50
51
52
53
54
Dim n As Integer, x() As Integer
Private Sub Command1_Click()
Open "D:\A.txt" For Input As #1
n = 0
Dim a(200) As Integer
While Not EOF(1): n = n + 1
Input #1, a(n)
Wend
Close #1
ReDim x(n) As Integer
For i = 1 To n: x(i) = a(i)
Picture1.Print x(i);
Next i
End Sub
 
Private Sub Command2_Click()
Unload Me
End Sub
Public Sub sortirovkavstavkoy(min As Integer, max As Integer)
Dim i As Long
Dim j As Long
Dim k As Long
Dim max_sort As Long
Dim next_num As Long
 
    max_sort = min - 1
    For i = min To max
        ' Vstavl chislo.
            next_num = x(i)
         'poisk chisla v spiske.
        For j = min To max_sort
            If x(j) >= next_num Then Exit For
        Next j
        ' peremestim bolshie elementi vniz, 4tobi osvobodit' mesto dlya
        'novogo chisla
        
        For k = max_sort To j Step -1
            x(k + 1) = x(k)
        Next k
        'pomestit' noviy element
            x(j) = next_num
        ' uvelichit' chtchik otsortirovannih elementov.
        max_sorted = max_sort + 1
        
        Next i
        For i = min To max
          Picture2.Print x(i);
        Next i
End Sub
 
 
Private Sub Command3_Click()
Call sortirovkavstavkoy(1, n)
End Sub
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.06.2010, 15:02
Ответы с готовыми решениями:

Программа сортирует массив из 5 целых чисел в разброс
Программа сортирует массив из 5 целых чисел в разброс. Вывести на экран числа по убыванию. Всех с наступающим НГ=)))

Программа, которая сортирует массив и находит количество различных чисел
Помогите написать программу, которая сортирует массив и находит количество различных чисел в нем. Добавлено через 2 часа 55 минут ...

Программа для работы с txt файлом
Привет ребята, сразу скажу что я не программист, и нуждаюсь в вашей помощи. Уверен, что для кого то эта задача на 10-15 минут. Мне нужно...

2
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
16.06.2010, 15:45
Кто-то говорит, что "ПРАВИЛЬНО" писать на русском языке латинскими буквами - я так не считаю.
Поэтому просто не читаю коментариев написанных таким образом.
Могу предложить алгоритм сортировки вставкой с русскими коментами. Рабирайся:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Private Sub Комманда3_Click() ' сортируем методом вставки
Dim I, J, K
Список4.Clear 'чистим список
For I = 0 To Список3.ListCount - 1 ' организуем цикл по всему списку
 Список4.AddItem Список3.List(I) ' добавляем в новый список очередной член массива
    For J = 0 To Список4.ListCount - 1 ' организуем цикл проверки
            If Val(Список3.List(I)) <= Val(Список4.List(J)) Then ' если значение меньше очередного
                      For K = Список4.ListCount - 1 To J Step -1 ' организуем цикл по оставшимся членам массива
                      Список4.List(K) = Список4.List(K - 1) ' и опускаем все до места, где должен быть текущий член
                      Next K '
                      Список4.List(J) = Список3.List(I) ' вставляем на место
                      GoTo 1 '
            End If '
    Next J '
1 '
Next I '
End Sub '
0
InMydefence
16.06.2010, 16:40
Лучший ответ Сообщение было отмечено как решение

Решение

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

Буду благодарен, если кто-то покажет ошибку в "моем" исходном коде.

Добавлено через 44 минуты
Исправил и вроде работает! если есть замечания, буду благодарен, слава Богу сдавать пока не завтра и нужно теперь прикрутить сюда бинарный поиск
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
44
45
Dim n As Integer, x() As Integer
Private Sub Command1_Click()
Open "D:\A.txt" For Input As #1
n = 0
Dim a(200) As Integer
While Not EOF(1): n = n + 1
Input #1, a(n)
Wend
Close #1
ReDim x(n) As Integer
For i = 1 To n: x(i) = a(i)
Picture1.Print x(i);
Next i
End Sub
 
Private Sub Command2_Click()
Unload Me
End Sub
Public Sub insertionsort(min As Integer, max As Integer)
    max_sorted = min - 1
    For i = min To max
        'Вставляем число
            next_num = x(i)
         'Поиск числа в нашем списке
        For j = min To max_sorted
            If x(j) <= next_num Then Exit For
        Next j
        'Переместим большие элементы вниз, чтобы освободить место для нового числа
        For k = max_sorted To j Step -1
            x(k + 1) = x(k)
        Next k
        'Поместить новый элемент
            x(j) = next_num
        'Увеличить счетчик отсортированных элементов
           max_sorted = max_sorted + 1
          Next i
        For i = min To max
          Picture2.Print x(i);
        Next i
End Sub
 
 
Private Sub Command3_Click()
Call insertionsort(1, n)
End Sub
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.06.2010, 16:40
Помогаю со студенческими работами здесь

Почему программа не сортирует массив пузырьком?
Подскажите, пожалуйста, почему данная программа создает массив, но не сортирует его методом пузырька (выводит лишь неотсортированный...

Напишите программу, которая сортирует массив и находит количество различных чисел в нем
У меня есть начало программы для сортировки массива,как найти количество различных чисел в массиве? from random import randint print...

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

Сделать ввод текстовым файлом Input.txt, а вывод output.txt
var a : longint; s : string; i, n : integer; begin readln(a); str(a, s); n := length(s); for i...

Файл a.txt нужно сравнить с файлом c.txt
Всем привет! Есть файл a.txt: 1 2 3 4 5 Есть файл c.txt:


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru