Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.06.2017, 23:14   #1
vcgcgc
Новичок
Джуниор
 
Регистрация: 11.06.2017
Сообщений: 14
По умолчанию Определить слова наибольшей и наименьшей длины.

Составить программу, которая будет определять самое длинное и короткое слово для введенных данных (фамилия, имя и отчество).
vcgcgc вне форума Ответить с цитированием
Старый 12.06.2017, 05:37   #2
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Код:
Sub asd()
    Dim a(2)
    a(0) = InputBox("Surname", , "Familia")
    a(1) = InputBox("Name", , "Imia")
    a(2) = InputBox("Middlename", , "Otchestvo")
    
    n% = UBound(a, 1)
      For i% = 0 To n% - 1
          For j% = i% + 1 To n%
               If Len(a(j%)) < Len(a(i%)) Then
                  Tmp = a(i%)
                  a(i%) = a(j%)
                  a(j%) = Tmp
               End If
            Next j%
      Next i%
      MsgBox (a(0) & vbNewLine & a(2))
End Sub
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 12.06.2017, 14:18   #3
vcgcgc
Новичок
Джуниор
 
Регистрация: 11.06.2017
Сообщений: 14
По умолчанию

Цитата:
Сообщение от Aleksandr H. Посмотреть сообщение
Код:
Sub asd()
    Dim a(2)
    a(0) = InputBox("Surname", , "Familia")
    a(1) = InputBox("Name", , "Imia")
    a(2) = InputBox("Middlename", , "Otchestvo")
    
    n% = UBound(a, 1)
      For i% = 0 To n% - 1
          For j% = i% + 1 To n%
               If Len(a(j%)) < Len(a(i%)) Then
                  Tmp = a(i%)
                  a(i%) = a(j%)
                  a(j%) = Tmp
               End If
            Next j%
      Next i%
      MsgBox (a(0) & vbNewLine & a(2))
End Sub
Большое спасибо за помощь! А можно уточнить i - это слово наименьшей длины? Что-то запуталась
Цитата:
Сообщение от Aleksandr H. Посмотреть сообщение
Код:
Sub asd()
    Dim a(2)
    a(0) = InputBox("Surname", , "Familia")
    a(1) = InputBox("Name", , "Imia")
    a(2) = InputBox("Middlename", , "Otchestvo")
    
    n% = UBound(a, 1)
      For i% = 0 To n% - 1
          For j% = i% + 1 To n%
               If Len(a(j%)) < Len(a(i%)) Then
                  Tmp = a(i%)
                  a(i%) = a(j%)
                  a(j%) = Tmp
               End If
            Next j%
      Next i%
      MsgBox (a(0) & vbNewLine & a(2))
End Sub
vcgcgc вне форума Ответить с цитированием
Старый 12.06.2017, 15:47   #4
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

i - ето счетчик, "указатель" на ячейку массива, с которой берется слово
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 12.06.2017, 15:53   #5
vcgcgc
Новичок
Джуниор
 
Регистрация: 11.06.2017
Сообщений: 14
По умолчанию

а j тогда что?
vcgcgc вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Зашифровать строчку наибольшей длины типизированного файла, используя коды букв Anna17_04 Паскаль, Turbo Pascal, PascalABC.NET 2 26.05.2015 00:40
Определить, сколько слов стоит в строке до слова максимальной длины Михаид Общие вопросы C/C++ 0 03.12.2014 19:37
Ассемблер. Найти слово минимальной длины и укоротить остальные слова до длины минимального. xqr Помощь студентам 1 25.05.2012 22:41
Списки.удаление наименьшей длины строки.free pascal maddanil Помощь студентам 1 24.05.2011 22:17
(Си) Замена слов наименьшей длины в массиве строк RZMTZM Общие вопросы C/C++ 7 25.01.2010 00:30