|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » VBA - Помогите решить задачу по изменению позиции букв в слове |
|
VBA - Помогите решить задачу по изменению позиции букв в слове
|
Новый участник Сообщения: 1 |
Профиль | Сайт | Отправить PM | Цитировать
20. Ввести слово и образовать новое слово, заменив в нем букву, стоящую на заданной позиции на другую заданную букву.
Sub задача8() Dim slovo As String, buk As String, a As String Dim b As String, f As String, c As String, k As Integer, poz1 As Integer, poz2 As Integer, p As String, q As String slovo = InputBox("ââåäèòå ñëîâî") k = Len(slovo) poz1 = Val(InputBox("ïîçèöèÿ1")) poz2 = Val(InputBox("ïîçèöèÿ2")) If poz1 > poz2 Then q = poz1 - poz2 Else q = poz2 - poz1 End If p = Mid(slovo, poz1, 1) buk = Mid(slovo, poz2, 1) If poz1 >= 1 Then a = Mid(slovo, 1, poz1 - 1) Else: a = "" End If b = Mid(slovo, poz1 + 1, q - 1) f = Mid(slovo, poz2 + 1) c = p p = buk buk = c d = a + p + b + buk + f MsgBox d End Sub |
|
Отправлено: 23:15, 26-12-2012 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать ymka_0@vk, я задание понял немного иначе: ввести слово, позицию и заменяющую букву. Впрочем, Вам виднее. Раз:
Цитата ymka_0@vk:
Вот Ваш вариант (без каких-либо проверок ввода): Option Explicit Sub Задача8() Dim strWord As String Dim lngPos1 As Long Dim lngPos2 As Long Dim lngTempPos As Long strWord = Trim(InputBox("Введите слово:")) lngPos1 = CLng(InputBox("Введите позицию 1-й буквы для обмена:")) lngPos2 = CLng(InputBox("Введите позицию 2-й буквы для обмена:")) If lngPos1 > lngPos2 Then lngTempPos = lngPos1 lngPos1 = lngPos2 lngPos2 = lngTempPos End If MsgBox _ Mid(strWord, 1, lngPos1 - 1) & _ Mid(strWord, lngPos2, 1) & _ Mid(strWord, lngPos1 + 1, lngPos2 - (lngPos1 + 1)) & _ Mid(strWord, lngPos1, 1) & _ Mid(strWord, lngPos2 + 1) End Sub Sub Задача8_1() Dim strWord As String Dim lngPos1 As Long Dim lngPos2 As Long Dim strTempChar As String strWord = Trim(InputBox("Введите слово:")) lngPos1 = CLng(InputBox("Введите позицию 1-й буквы для обмена:")) lngPos2 = CLng(InputBox("Введите позицию 2-й буквы для обмена:")) strTempChar = Mid(strWord, lngPos2, 1) Mid(strWord, lngPos2, 1) = Mid(strWord, lngPos1, 1) Mid(strWord, lngPos1, 1) = strTempChar MsgBox strWord End Sub |
|
Отправлено: 00:14, 27-12-2012 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
C/C++ - Помогите решить задачу | Bokslaitner | Программирование и базы данных | 4 | 08-01-2018 18:06 | |
C/C++ - Помогите решить задачу | Urann | Программирование и базы данных | 11 | 14-05-2013 11:44 | |
C/C++ - ПОМОГИТЕ РЕШИТЬ ЗАДАЧУ | Shok147 | Тест-форум | 0 | 14-11-2011 14:02 | |
C/C++ - Помогите решить задачу | NightmaR | Программирование и базы данных | 1 | 25-05-2011 21:10 | |
C/C++ - ПОМОГИТЕ РЕШИТЬ ЗАДАЧУ НА С++ | delfi | Программирование и базы данных | 1 | 12-05-2011 20:19 |
|