Сортировка и вывод данных - VB

Узнай цену своей работы

Формулировка задачи:

Имеется такая задача: Дана матрица натуральных чисел Y(n,m), в которой столбцы упорядочены по убыванию. Переместить содержимое матрицы в массив S(k) по столбцам и упорядочить по убыванию, удалив одинаковые элементы. Определить новое количество элементов. Я набросал код к ней:
Все вроде ничего, но вывод после сортирвки не идет. В чем проблема? Заранее благодарю

Решение задачи: «Сортировка и вывод данных»

textual
Листинг программы
Private Sub Command1_Click()
Text3 = "Полученный массив: "
Text4 = "Обработанный массив: "
n = Text1 
m = Text2
cnt = n * m
ReDim mas(n, m) As Integer
ReDim S(cnt) As Integer
 
'заполнение массива случайными числами
For i = 0 To n - 1
    For j = 0 To m - 1
        mas(i, j) = Rnd(1) * 10
    Next
Next
 
'Перемещение содержимого матрицы в массив S
k = 0
For i = 0 To n - 1
    For j = 0 To m - 1
        S(k) = mas(i, j)
        Text3 = Text3 & " " & S(k)
        k = k + 1
    Next
Next
 
'Сортировка массива S
For i = 1 To cnt - 1
    j = i
    Do While j > 0
        If S(j) > S(j - 1) Then
            t = S(j)
            S(j) = S(j - 1)
            S(j - 1) = t
            j = j - 1
        Else
            Exit Do
        End If
    Loop
Next
 
'Удаление повторяющихся значений
i = 0
Do While i < cnt
    If S(i) = S(i + 1) Then
        j = i + 1
        cnt = cnt - 1
        Do While j < cnt
            
            S(j) = S(j + 1)
            j = j + 1
        Loop
    Else
        i = i + 1
    End If
Loop
 
'Вывод результата
k = 0
For i = 0 To cnt - 1
        Text4 = Text4 & " " & S(i)
Next
Text4 = Text4 & ", количество элементов " & cnt
End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.333 из 5