Задать вопрос
@LorDDrouS
Учусь создавать android приложения

Удалить все «*» и продублировать каждый символ, отличный от заданной цифры,если она присутствует в исходной строке?

b1b95cb1c4d044c4abf9e00cd1feb718.pngЗдравствуйте, задали решить такую задачу, пока моя программа умеет только удалять звездочки, но вот я не понимаю условия "отличный от заданной цифры", никаких вводных данных не дается, прошу помочь с решением, может быть кто сталкивался
  • Вопрос задан
  • 215 просмотров
Подписаться 1 Оценить 2 комментария
Решения вопроса 1
AnnTHony
@AnnTHony
Интроверт
Sub duplicate()
    Dim StrIn As String
    Dim StrOut As String
    Dim Symbol As String
    Dim Twice As Boolean
    
    StrIn = "835*23*2"
    Symbol = "2"
    StrOut = ""
    
    If InStr(StrIn, Symbol) > 0 Then
        Twice = True
    Else
        Twice = False
    End If
    
    For i = 1 To Len(StrIn)
        Char = Mid(StrIn, i, 1)
        Select Case Char
            Case Symbol
                StrOut = StrOut & Char
            Case "*"
                StrOut = StrOut
            Case Else
                StrOut = StrOut & Char
                If Twice Then
                    StrOut = StrOut & Char
                End If
        End Select
    Next i
    
    MsgBox (StrOut)
End Sub
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
x67
@x67
ну написано же все. Компьютеру надо всего лишь перевести с русского в бинарный. Бинарный ты конечно не понимаешь, но ты можешь поговорить с компилятором на каком нибудь другом языке, объяснив ему суть. А он уж точно разберется, К делу
продублировать каждый символ, отличный от заданной цифры,если она присутствует в исходной строке?

заданной цифры нет, значит нужно научить компьютер ее задавать. Цифру выбираем мы. Что бы намекнуть об этом компьютеру можно использовать ввод цифры через командную строку.
Далее мы действуем только если цифра есть в исходной строке. Проверочку выполняем побуквенно или целиком(если есть функция или процедура, которая так умеет). Если нашли, тогда надо понять, а что значит продублировать? Просто вместо одной буквы в строке должно быть две? или просто вывести на экран эти буквы? Я думаю, первый вариант. Предположим динамически задавать длину мы не можем. Ну тогда считаем количество знаков в строке, исключая заданную цифру. Умножаем на два - это и будет длина новой строки.
А теперь последовательно все символы кроме заданной цифры дважды копируем в новую строку. И все.. Проблемс? Не должно быть проблемс. Разве что будут варианты как реализовать последние действия - это зависит от возможностей языка и твоего умения строить алгоритмы. В общем решай. Если решишь сам, будешь молодцом и курсовую/зачет/экз сдашь точно на 5.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы