Как отсортировать строки файла в порядке возрастания их длины - VB

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

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

Помогите решить задачу!!!!!!

Дан файл со строками, отсортировать строки в порядке возрастания их длины

Решение задачи: «Как отсортировать строки файла в порядке возрастания их длины»

textual
Листинг программы
Sub SortLen(finp as string, fout as string)
Dim Buf() As String
Dim Ns() As long
Dim Ls() As long
     '::: Загрузка
     fi%=FreeFile
     Open finp for input as #fi%
     Redim Buf(1 to 1000) As string
     Redim Ns(1 to 1000) As long
     Redim Ls(1 to 1000) As long
     p&=0
     sz&=1000
     c&=0 
     Do While Not EOF(fi%)
         line input #fi%,Stri$
         p&=p&+1
         If p& > sz& then
            sz&=sz&+1000
            Redim Preserve Buf(1 to sz&) As string
            Redim Preserve Ns(1 to sz&) As long
            Redim Preserve Ls(1 to sz&) As long
         End if
         Buf(p&)=Stri$
         Ls(p&)=Len(Stri$)
         Ns(p&)=p&
     Loop
     close #fi%
     '::: Сортировка
     For ii&=1 to p&-1
          For jj&=ii&+1 to p&
               if (Ls(ii&) > Ls(jj&)) then
                 Tmp&=Ls(ii&)
                 Ls(ii&)=Ls(jj&)
                 Ls(jj&)=Tmp&
                 Tmp&=Ns(ii&)
                 Ns(ii&)=Ns(jj&)
                 Ns(jj&)=Tmp&
               End if
          Next jj&
     Next ii& 
     '::: Вывод
     fo%=FreeFile
     Open finp for output as #fo%
     For ii&=1 to p&
          jj&=Ns(ii&)
          Print #fo%,Buf(jj&)
     Next ii&
     close #fo% 
End Sub

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


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

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

12   голосов , оценка 4.167 из 5
Похожие ответы