Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
5 / 5 / 0
Регистрация: 08.05.2011
Сообщений: 215

Определить содержат ли две строки одни и те же символы

23.05.2014, 01:22. Показов 1393. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток, проблема такая: есть строка A, содержащая, к примеру: 10 15 20, то бишь числа, разделенные пробелом. Нужно сверить со строкой B: 20 10 15, которая является идентичной по элементам внутри. Кто что посоветует?

Добавлено через 1 час 1 минуту
Если определена строка как идентичная по числам внутри - вернуть true. Проблема в том, что строк может быть несколько (6000)ю По этому раскладывать на элементы каждую строку - не очень быстро я думаю.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.05.2014, 01:22
Ответы с готовыми решениями:

Дана строка-предложение. Определить сколько слов строки содержат одинаковые второй и четвертый символы
Появилась ещё одна задача, помогите и с ней пожалуйста. Дана строка-предложение. Определить сколько слов строки содержат одинаковые...

Слить две строки, вставив символы одной строки между символами другой строки
Строка a из n символов лексикографически меньше строки b из n символов, если существует такой индекс j, что aj < bj, а для всех i < j...

вывести из строки те слова ,которые содержат две буквы z.
вывести из строки те слова ,которые содержат две буквы z. ПОМОГИТЕ ПОЖАЛУСТА

6
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
23.05.2014, 09:36
Символы или слова? Если слова - как сравнивать 3 слова и 4? Две строки или 6000?... И т.д.
1
15155 / 6428 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
23.05.2014, 10:03
Лучший ответ Сообщение было отмечено zzz_ как решение

Решение

zzz_, дело происходит в Excel, наверно? Пробуйте, функция корректно работает с повторяющимися фрагментами и игнорирует лишние пробелы, например
Code
1
=zzz("20 10 15 10 ";"15   20 10 10")
возвращает ИСТИНА.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Function zzz(ByVal A$, ByVal B$) As Boolean
Static di As Object
Dim x
If di Is Nothing Then
 Set di = CreateObject("scripting.dictionary")
Else
  di.RemoveAll
End If
A = Application.Trim(A)
B = Application.Trim(B)
If Len(A) <> Len(B) Then Exit Function
For Each x In Split(A)
  di.Item(x) = di.Item(x) + 1
Next
For Each x In Split(B)
  If Not di.exists(x) Then Exit Function
  di.Item(x) = di.Item(x) - 1
  If di.Item(x) = 0 Then di.Remove x
Next
If di.Count = 0 Then zzz = True
End Function
1
5 / 5 / 0
Регистрация: 08.05.2011
Сообщений: 215
23.05.2014, 13:55  [ТС]
Visual Basic
1
2
di.Item(x) = di.Item(x) - 1
* If di.Item(x) = 0 Then di.Remove x
А что вот эта часть кода делает?
0
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
23.05.2014, 14:19
Лучший ответ Сообщение было отмечено zzz_ как решение

Решение

Это из словаря убираются совпавшие слова.
Ещё вариант, даже попроще будет - отсортировать оба массива, затем их сравнить (в цикле пары элементов, или собрать две строки и сравнить).

Добавлено через 12 минут
Visual Basic
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
34
35
36
Function zzzz(A, B) As Boolean
    Dim i&
    
    A = Application.Trim(A)
    B = Application.Trim(B)
 
    If Len(A) <> Len(B) Then Exit Function
 
    A = Split(A)
    B = Split(B)
 
    SortArray A
    SortArray B
 
    zzzz = True
    For i = 0 To UBound(A)
        If A(i) <> B(i) Then zzzz = False: Exit Function
    Next
End Function
 
 
Private Sub SortArray(ByRef A As Variant)
    Dim i As Long, j As Long
    Dim t As Variant
 
    'standard bubble sort loops
    For i = LBound(A) To UBound(A) - 1
        For j = i + 1 To UBound(A)
            If A(i) > A(j) Then    'change to < for descending order
                t = A(i)
                A(i) = A(j)
                A(j) = t
            End If
        Next j
    Next i
End Sub
1
5 / 5 / 0
Регистрация: 08.05.2011
Сообщений: 215
23.05.2014, 14:28  [ТС]
Hugo121, сортировать элементы не вариант, нужно сохранить исходные строки.
Цитата Сообщение от Hugo121 Посмотреть сообщение
Символы или слова? Если слова - как сравнивать 3 слова и 4? Две строки или 6000?... И т.д.
Первая строка в EXCEL - строка, с которой будут сравниваются следующие строки. Начинаю сравнивать следующие строки и нахожу последнюю совпадающую строку.
0
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
23.05.2014, 14:47
Цитата Сообщение от zzz_ Посмотреть сообщение
сортировать элементы не вариант, нужно сохранить исходные строки.
- мы говорим на разных языках...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.05.2014, 14:47
Помогаю со студенческими работами здесь

Даны две символьные переменные, в которых все символы, кроме одного, одинаковы. Определить номер позиции, в которй символы отличаются
Ребят помогите решить задачи Задание 3 Даны две символьные переменные, по 4 символа каждая, в которых все символы, кроме одного,...

Удалить слова из строки, которые содержат определённые символы
Вводим строку,между слов произвольное число пробелов, найти в ней слова которые содержат например буквы 'c' и 'л' и удалить их(слова) ...

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

Множества.Даны две строки. Напечатать те символы, которые входят в первую но не во вторую строки
Помогите решить:) Можно только циклы,остальное сделаю сам. Даны две строки. Напечатать те символы, которые входят в первую но не во...

Даны две строки. Из множества символов первой строки удалить символы содержащиеся во второй строке.
составить программу для решения задач: 6. Даны две строки. Из множества символов первой строки удалить символы содержащиеся во второй...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru