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

PQ. Увеличить количество строк для сравнения посимвольно

29.09.2021, 19:54. Показов 733. Ответов 11
Метки нет (Все метки)

Добрый день. Есть код который позволяет сравнивать данные по символьно в строчках, сейчас идет сравнение по двум и трем строчкам, прошу помощи в написании кода, чтобы увеличить количество сравниваемых строк, важно чтобы выводилось только максимальное количество совпадений, для этого нужно внедрить этот код в PQ.
Код
= Table.SelectRows(calcCount, each [Совпадений] = maxCount)
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.09.2021, 19:54
Ответы с готовыми решениями:

Написать программу, использующую стандартную функцию сравнения строк для определения среди трех строк, вводимых пользователем, одинаковых.
Написать программу, использующую стандартную функцию сравнения строк для определения среди трех...

Увеличить количество строк lines
const string fileName = @"ifolder\monitor.ini"; string lines =...

Увеличить количество строк в листбоксе
Здравствуйте, такая проблема - копирую в листбокс на форме список (из ворда например), но больше...

используя функции. увеличить все цифры строк на 1. выполнить для двух строк
используя функции. увеличить все цифры строк на 1. выполнить для двух строк

11
5714 / 2992 / 626
Регистрация: 23.11.2010
Сообщений: 9,976
01.10.2021, 11:17 2
Объясните подробнее, чегойто не разберусь....
0
0 / 0 / 0
Регистрация: 09.04.2014
Сообщений: 67
01.10.2021, 12:16  [ТС] 3
Цитата Сообщение от Fairuza Посмотреть сообщение
Объясните подробнее, чегойто не разберусь....
есть данные которые состоят из 15 символов в производном порядке (символы используются, 1 или 2 или X(английская)), в файле уже есть коды для PQ которые сверяет данные по символьно между собой сравнение идет между двумя и тремя строчками, то есть вот пример

111ХХХ222ХХХ111
111ХХХ222ХХХ112
вот тут разница в последнем символе, получается 2 строчки имеют 14 совпадений максимально

111ХХХ222ХХХ11X
111ХХХ222ХХХ111
111ХХХ222ХХХ112
вот тут разница в последнем символе, получается 3 строчки имеют 14 совпадений максимально

я хочу увеличить количество сравнений не три строчки сравнивать, а до 15 и чтобы выводилось только максимальное количество совпадений.
на примере:
данный в файле
2XX1X22XXX1X2XX
X2X21XXXXX211X1
X21XXX2X1XX2X22
X2X112XXXXX22X2
X1X12212XXXXX2X
2XX2X1111X221X2
2X2XX11X2112221
122X1222X21X2X2
11212XX11X211XX
11212X1212X21XX
212222X111X2X12
121111122X2XXXX
X2XX2122XXX2X21
X221XX2X2X2XX12
121X111XXX11X22
21X122X111X2XX1
22X2211112X1X22
2X2X2X2211X2XXX
если сравнить по двум строчкам, то получается строки
212222X111X2X12
21X122X111X2XX1
имеют между собой 11 совпадений

если сравнить по трем строчкам, то получается строки
212222X111X2X12
21X122X111X2XX1
2X2X2X2211X2XXX
имеют между собой 7 совпадений

мне нужно чтобы сравнение шло до 15 строчек, и на лист выводилось только максимальное количество совпадений, так как в примере 18 строк для сравнения, если я делаю сравнение по парно то получается уже 306 строк, если сравнение идет по трем строчкам то получается уже 816 вариантов, и буквально на 5 - 6 шаге, там уже пойдет миллион значений..

p.s. я смог объяснить что хочу?
0
484 / 443 / 172
Регистрация: 11.12.2013
Сообщений: 2,339
01.10.2021, 14:32 4
Лучший ответ Сообщение было отмечено DJMC как решение

Решение

написал макрос, посмотрите так?
0
Вложения
Тип файла: zip Комбинации.zip (15.9 Кб, 6 просмотров)
5714 / 2992 / 626
Регистрация: 23.11.2010
Сообщений: 9,976
01.10.2021, 14:43 5
Как я понимаю: значение в А2 - три совпадения по первым символам (3 знака в седьмой строке, 2 знака в восьмой и 2 знака в девятнадцатой)?
0
484 / 443 / 172
Регистрация: 11.12.2013
Сообщений: 2,339
01.10.2021, 14:51 6
может я чего не понял. считал что совпадение это когда одинаковые символы на одинаковых позициях в строке. например,
111ХХ22
222Х111
111Х111
в этом случае одно совпадение
0
0 / 0 / 0
Регистрация: 09.04.2014
Сообщений: 67
01.10.2021, 15:10  [ТС] 7
Цитата Сообщение от Алекcей Посмотреть сообщение
написал макрос, посмотрите так?
да все так, только можно попросить выводить лучшие строки, так как в примере было 18 строк, а проверять я планирую на 10000 строк.

Добавлено через 25 секунд
Цитата Сообщение от Алекcей Посмотреть сообщение
может я чего не понял. считал что совпадение это когда одинаковые символы на одинаковых позициях в строке. например,
111ХХ22
222Х111
111Х111
в этом случае одно совпадение
да Вы верно поняли меня, большое спасибо за помощь.
0
484 / 443 / 172
Регистрация: 11.12.2013
Сообщений: 2,339
01.10.2021, 16:00 8
что-то не понял как выводить надо? если сравниваем по 3 строкам то выводим 7 столбцов, а если сравниваем по 4 строкам - 9?
0
0 / 0 / 0
Регистрация: 09.04.2014
Сообщений: 67
01.10.2021, 16:03  [ТС] 9
Цитата Сообщение от Алекcей Посмотреть сообщение
что-то не понял как выводить надо? если сравниваем по 3 строкам то выводим 7 столбцов, а если сравниваем по 4 строкам - 9?
верно, я хочу понять сколько строк из всего массива имеют больше всего совпадений между собой.
0
484 / 443 / 172
Регистрация: 11.12.2013
Сообщений: 2,339
01.10.2021, 16:09 10
понятно, надо подумать
1
0 / 0 / 0
Регистрация: 09.04.2014
Сообщений: 67
03.10.2021, 10:26  [ТС] 11
Цитата Сообщение от Алекcей Посмотреть сообщение
понятно, надо подумать
в целом я понял как работать с Вашим файлом в своих целях, а можно попросить сделать вывод общего значения и всех возможных строк?
то есть я вбил значения мне показывает вот такую картину Строки 1,3,5,6,7,8,10,11 совпадений - 1 (можно чтобы макрос показывал это совпадение в виде 7-Х. А также вопрос, как считает макрос когда много строк подходит под значения, к примеру если я возьму совпадения по 3, явно вариантов будет больше 1, или он выводит только первый?

Данный пример во вложении.
0
0 / 0 / 0
Регистрация: 09.04.2014
Сообщений: 67
03.10.2021, 10:27  [ТС] 12
файл
0
Вложения
Тип файла: zip Комбинации наибольшее.zip (18.6 Кб, 6 просмотров)
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.10.2021, 10:27

Для алгоритма сортировки определить: количество операций сравнения, количество перестановок элементов
в этой программе есть - Набор латинских букв упорядочнить по алфовиту использовать следующие...

Написать программу которая, подготавливает регистры к проведению цикла сравнения строк fam и tabs и сам цикл сравнения
Доброго времени суток нужна помощь в написании программы. Задание: Написать программу которая,...

Макрос для сравнения строк
Mne nujno napisat' makros dlya sravneniya stringov v Excel i s4ityvaniya po etim resultatam...

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

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

Исправить ошибку в коде для сравнения строк
что-то не получается вот с этим: #include <iostream> #include <string> using namespace std; int...

Реализовать метод CompareTo для сравнения строк
Задание такое: В класс Edition добавить реализацию интерфейсa System.IComparable для сравнения...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.