Как отсортировать строки файла в порядке возрастания их длины - 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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д