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

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

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

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

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

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

textual
Листинг программы
  1. Sub SortLen(finp as string, fout as string)
  2. Dim Buf() As String
  3. Dim Ns() As long
  4. Dim Ls() As long
  5.      '::: Загрузка
  6.     fi%=FreeFile
  7.      Open finp for input as #fi%
  8.      Redim Buf(1 to 1000) As string
  9.      Redim Ns(1 to 1000) As long
  10.      Redim Ls(1 to 1000) As long
  11.      p&=0
  12.      sz&=1000
  13.      c&=0
  14.      Do While Not EOF(fi%)
  15.          line input #fi%,Stri$
  16.          p&=p&+1
  17.          If p& > sz& then
  18.             sz&=sz&+1000
  19.             Redim Preserve Buf(1 to sz&) As string
  20.             Redim Preserve Ns(1 to sz&) As long
  21.             Redim Preserve Ls(1 to sz&) As long
  22.          End if
  23.          Buf(p&)=Stri$
  24.          Ls(p&)=Len(Stri$)
  25.          Ns(p&)=p&
  26.      Loop
  27.      close #fi%
  28.      '::: Сортировка
  29.     For ii&=1 to p&-1
  30.           For jj&=ii&+1 to p&
  31.                if (Ls(ii&) > Ls(jj&)) then
  32.                  Tmp&=Ls(ii&)
  33.                  Ls(ii&)=Ls(jj&)
  34.                  Ls(jj&)=Tmp&
  35.                  Tmp&=Ns(ii&)
  36.                  Ns(ii&)=Ns(jj&)
  37.                  Ns(jj&)=Tmp&
  38.                End if
  39.           Next jj&
  40.      Next ii&
  41.      '::: Вывод
  42.     fo%=FreeFile
  43.      Open finp for output as #fo%
  44.      For ii&=1 to p&
  45.           jj&=Ns(ii&)
  46.           Print #fo%,Buf(jj&)
  47.      Next ii&
  48.      close #fo%
  49. End Sub

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


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

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

12   голосов , оценка 4.167 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы