Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » VBA - Помогите решить задачу по изменению позиции букв в слове

Ответить
Настройки темы
VBA - Помогите решить задачу по изменению позиции букв в слове

Новый участник


Сообщения: 1
Благодарности: 0

Профиль | Сайт | Отправить PM | Цитировать


Изменения
Автор: ymka_0@vk
Дата: 27-12-2012
Описание: tag code...
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
Благодарности: 8087

Профиль | Отправить 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



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » VBA - Помогите решить задачу по изменению позиции букв в слове

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
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




 
Переход