0 / 0 / 0
Регистрация: 26.09.2015
Сообщений: 9
1

Проверить, можно ли составить строку, используя символы другой строки

07.10.2015, 01:49. Показов 2901. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый вечер!

Просьба помочь написать функцию проверяющую можно ли составить строку, используя только символы другой строки.

Без учета повторений символов.

Функция должна возвращать true или false.

Заранее спасибо.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.10.2015, 01:49
Ответы с готовыми решениями:

Проверить можно ли из символов строки V составить строку W
Здравствуйте. Помогите решать задачу. Проверить можно ли из символов строки V составить строку W....

Проверить, можно ли из букв строки А составить строку В
Помогите пожалуйста с программой. Дана задача: Даны два текстовых поля А и В. Составьте...

Проверить, можно ли, меняя местами четные и нечетные символы первой строки, получить вторую строку
На вход поступают две строки. Вывести true если меняя местами четные и нечетные символы одной...

Проверить, можно ли из букв, входящих в строку А, составить строку В
Обязательно использовать String и StringBuilder. Даны две строки А и B. Составьте программу,...

6
es geht mir gut
11270 / 4752 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
07.10.2015, 07:48 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

VB.NET
1
2
3
4
5
6
7
8
9
10
Private Function Wruik(ByVal srcStr As String, ByVal dstStr As String) As Boolean
        Dim LenStr As Integer
        Wruik = srcStr.Length >= dstStr.Length
        For i As Integer = 1 To dstStr.Length
            If Not Wruik Then Exit Function
            LenStr = srcStr.Length
            srcStr = Replace(srcStr, Mid(dstStr, i, 1), "", 1, 1)
            Wruik = srcStr.Length <> LenStr
        Next
    End Function
3
0 / 0 / 0
Регистрация: 26.09.2015
Сообщений: 9
07.10.2015, 13:04  [ТС] 3
Спасибо большое!

а если учитывать повторение символов, что нужно добавить?
0
es geht mir gut
11270 / 4752 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
07.10.2015, 13:44 4
Лучший ответ Сообщение было отмечено Wruik как решение

Решение

Цитата Сообщение от Wruik Посмотреть сообщение
учитывать повторение символов
VB.NET
1
2
3
4
5
6
7
    Private Function Wruik(ByVal srcStr As String, ByVal dstStr As String) As Boolean
        Wruik = True
        For i As Integer = 1 To dstStr.Length
            Wruik = InStr(srcStr, Mid(dstStr, i, 1)) > 0
            If Not Wruik Then Exit For
        Next
    End Function
1
0 / 0 / 0
Регистрация: 17.10.2019
Сообщений: 9
03.11.2019, 14:17 5
Добрый день!
Подскажите пожалуйста в чём ошибка..
Задание: Можно ли составить слово
Написать функцию, проверяющую (возвращает логическое значение), можно ли составить строку strWord, используя только символы строки strText.
Учитывать количество повторений символов.

VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
 Sub Main()
        Dim strS1 As String = "САМОЛЕТ"
        Dim strS2 As String = "САЛО"
        Dim blnRes As Boolean
 
        MayBe(strS1, strS2, blnRes)
        If blnRes Then
            MsgBox("True")
        Else
            MsgBox("False")
        End If
 
    End Sub
 
    Public Function MayBe(ByVal strWord As String, ByVal strText As String, ByRef blnRes As Boolean)
        Dim intC1, intC2 As Integer
        Dim blnFound As Boolean
       
        For intC1 = 1 To Len(strWord)
            Dim chrC As Char = GetChar(strWord, intC1)
            blnFound = False
            For intC2 = 1 To Len(strText)
                If GetChar(strText, intC2) = chrC Then
                    blnFound = True
                    strWord = Left(strWord, intC2 - 1) & Right(strWord, Len(strWord) - intC2)
                    Exit For
                End If
            Next
            If blnFound = False Then Return blnRes = blnFound
        Next
        Return blnRes = True
    End Function
End Module
0
es geht mir gut
11270 / 4752 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
03.11.2019, 16:44 6
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Module Module1
 
    Sub Main()
        Dim strS1 As String = "САМОЛЕТ"
        Dim strS2 As String = "САЛО"
 
        MsgBox(MayBe(strS1, strS2).ToString)
 
 
    End Sub
 
    Public Function MayBe(ByVal strWord As String, ByVal strText As String) as boolean
        Dim intC1, intC2 As Integer
        Dim blnFound As Boolean
 
        For intC1 = 1 To Len(strText)
            Dim chrC As Char = GetChar(strText, intC1)
            blnFound = False
            For intC2 = 1 To Len(strWord)
                If GetChar(strWord, intC2) = chrC Then
                    blnFound = True
                    strWord = Left(strWord, intC2 - 1) & Right(strWord, Len(strWord) - intC2)
                    Exit For
                End If
            Next
            If blnFound = False Then Return False
        Next
        Return True
    End Function
 
 
 
End Module
1
0 / 0 / 0
Регистрация: 17.10.2019
Сообщений: 9
04.11.2019, 02:11 7
Блин, такую мелочь и пропустил
Спасибо!
0
04.11.2019, 02:11
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.11.2019, 02:11
Помогаю со студенческими работами здесь

Проверить, можно ли из букв, входящих в строку А, составить строку В
Даны две строки А и В. составить программу, проверяющую, можно ли из букв, входящих в строку А,...

Проверить, можно ли из букв, входящих в строку А, составить строку В
Даны две строки А и В. Составьте программу, проверяющую, можно ли из букв, входящих в А, составить...

Проверить, можно ли из букв, входящих в строку А, составить строку В
Даны две символьные строки А и В. Составьте программу, проверяющую, можно ли из букв, входящих в А,...

Даны 2 строки. определить можно ли, переставляя символы в первой строке, получить вторую строку. Строки вводят
Даны 2 строки. определить можно ли, переставляя символы в первой строке, получить вторую строку....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru