Форум об интернет-маркетинге
Вернуться   Форум об интернет-маркетинге > Не про работу > Курилка

Курилка Автомобили, хобби, спорт. И Garik77 с металлоискателем. Коммерция запрещена.

Ответ
 
Опции темы
Старый 27.06.2024, 23:45   #181
burunduk
попробуй отними
Профессор
 
Аватар для burunduk
 
Регистрация: 14.07.2020
Сообщений: 905
Сказал(а) спасибо: 1,099
Получил(а) "Спасибо": 2,159
Нарушения: 0/0 (0)
Репутация: 757769

По умолчанию Re: "Тупая" железяка

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

код будет рабочий (не всегда), но обязательно максимально ресурсоёмким

и ещё повальное увлечение питоном открыло двери для "нажимателей кнопок" в область разработки и при этом резко снизило качество решений
burunduk вне форума   Ответить с цитированием
Старый 28.06.2024, 09:18   #182
HappySoftX
Senior Member
Доцент
 
Аватар для HappySoftX
 
Регистрация: 23.06.2020
Сообщений: 490
Сказал(а) спасибо: 1,926
Получил(а) "Спасибо": 2,516
Нарушения: 0/0 (0)
Репутация: 80425

Thread Starter Re: "Тупая" железяка

Цитата:
Сообщение от burunduk Посмотреть сообщение
HappySoftX, проблема в том, что знание не равно интеллект, даже имея примеры кода, нейросеть не придумывает алгоритм решения, а просто использует самый частый вариант

код будет рабочий (не всегда), но обязательно максимально ресурсоёмким

и ещё повальное увлечение питоном открыло двери для "нажимателей кнопок" в область разработки и при этом резко снизило качество решений
Разобраться в чужом, довольно сложном, коде и предложить свое рабочее решение. А что тебе собственно еще надо? Я лично в восторге от возможностей ИИ. Что считать интеллектом лично для меня уже большой вопрос.

Ресурсоемким, возможно.

В моем случае речь шла про с++ а не про питон.
HappySoftX вне форума   Ответить с цитированием
Старый 28.06.2024, 10:17   #183
burunduk
попробуй отними
Профессор
 
Аватар для burunduk
 
Регистрация: 14.07.2020
Сообщений: 905
Сказал(а) спасибо: 1,099
Получил(а) "Спасибо": 2,159
Нарушения: 0/0 (0)
Репутация: 757769

По умолчанию Re: "Тупая" железяка

Цитата:
Сообщение от HappySoftX Посмотреть сообщение
Разобраться в чужом, довольно сложном, коде и предложить свое рабочее решение.
а потом возникают проблемы, типа логических ошибок, т.к. чужой код работал с определенными данными, возможно подготовленными заранее или наоборот с сырыми, которые ещё дополнительно обрабатывал
и вот на выходе ты получаешь не тот результат, который ожидал

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

пример,
строка / метки

покупка однушки в москве / квартира москва продажа
продажа доли в квартире / продажа
куплю часть дома под московой /продажа мо


и подобных строк около 100к

ну или совсем простая задача
необходимо проверить наличие номера телефона, в любом формате написания в текстовой строке
burunduk вне форума   Ответить с цитированием
Старый 28.06.2024, 11:22   #184
HappySoftX
Senior Member
Доцент
 
Аватар для HappySoftX
 
Регистрация: 23.06.2020
Сообщений: 490
Сказал(а) спасибо: 1,926
Получил(а) "Спасибо": 2,516
Нарушения: 0/0 (0)
Репутация: 80425

Thread Starter Re: "Тупая" железяка

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

Код:
String FindPhone(String Text) {
	// Преобразуем VCL String в std::string для удобства работы
	std::string text = AnsiString(Text).c_str();

	// Строка для хранения текущих цифр
	std::string digits;

	// Проходим по каждому символу строки
	for (char c : text) {
		if (isdigit(c)) {
			// Если символ является цифрой, добавляем его в строку digits
			digits.push_back(c);
		} else if (c == '(' || c == ')' || c == '-' || c == ' ') {
			// Пропускаем символы скобок, тире и пробелы
			continue;
		} else {
			// Если символ не является цифрой и длина строки digits равна 11
			if (digits.size() == 11 && digits[0] == '8') {
				// Возвращаем найденный номер телефона как строку типа String
				return String(digits.c_str());
			}
			// Очищаем строку digits для поиска следующего потенциального номера
			digits.clear();
		}
	}

	// Проверка на случай, если номер телефона находится в конце строки
	if (digits.size() == 11 && digits[0] == '8') {
		return String(digits.c_str());
	}

	// Если строка не содержит номер телефона, возвращаем пустую строку
	return "";
}

При отправке строки = "бла 870132 бла бла 8( 701)-233-23 - 34 бла бла 8282-132"

возвращает 87012332334

можно конечно придраться к коду и говорить про +7 но я сам задал ему такие условия, найти число 11 знаков начинающееся с 8. В зависимости от конкретных требований всегда можно изменить.

Как по мне справился на отлично со второй попытки. Первая была регулярные выражения.
HappySoftX вне форума   Ответить с цитированием
Старый 29.06.2024, 18:37   #185
burunduk
попробуй отними
Профессор
 
Аватар для burunduk
 
Регистрация: 14.07.2020
Сообщений: 905
Сказал(а) спасибо: 1,099
Получил(а) "Спасибо": 2,159
Нарушения: 0/0 (0)
Репутация: 757769

По умолчанию Re: "Тупая" железяка

Цитата:
Сообщение от HappySoftX Посмотреть сообщение
Как по мне справился на отлично со второй попытки
двойка за решение
во-первых, перебирать по символу строку неопределённой длины, когда этих строк больше 100к слишком долго
во-вторых, а что насчёт строки: коттеджный посёлок в москве за 830000000 00 руб
или
срочно куплю комнату в коммуналке звоните (495)789-23-45
burunduk вне форума   Ответить с цитированием
Старый 29.06.2024, 19:09   #186
HappySoftX
Senior Member
Доцент
 
Аватар для HappySoftX
 
Регистрация: 23.06.2020
Сообщений: 490
Сказал(а) спасибо: 1,926
Получил(а) "Спасибо": 2,516
Нарушения: 0/0 (0)
Репутация: 80425

Thread Starter Re: "Тупая" железяка

Цитата:
Сообщение от burunduk Посмотреть сообщение
двойка за решение
во-первых, перебирать по символу строку неопределённой длины, когда этих строк больше 100к слишком долго
во-вторых, а что насчёт строки: коттеджный посёлок в москве за 830000000 00 руб
или
срочно куплю комнату в коммуналке звоните (495)789-23-45
Да и какое решение должно быть? Ну чтобы не перебирать по символу? Мне правда очень интересно.
HappySoftX вне форума   Ответить с цитированием
Старый 29.06.2024, 20:22   #187
burunduk
попробуй отними
Профессор
 
Аватар для burunduk
 
Регистрация: 14.07.2020
Сообщений: 905
Сказал(а) спасибо: 1,099
Получил(а) "Спасибо": 2,159
Нарушения: 0/0 (0)
Репутация: 757769

По умолчанию Re: "Тупая" железяка

HappySoftX, как вариант, сначала исключить строки не содержащие нужного количества цифр (это примерно 3/4, для этого кстати совсем не обязательно перебирать строки посимвольно), затем стоит исключить то что касается денег, различных атикулов, ID, а вот потом можно регулярками разбирать
burunduk вне форума   Ответить с цитированием
Старый 29.06.2024, 20:47   #188
HappySoftX
Senior Member
Доцент
 
Аватар для HappySoftX
 
Регистрация: 23.06.2020
Сообщений: 490
Сказал(а) спасибо: 1,926
Получил(а) "Спасибо": 2,516
Нарушения: 0/0 (0)
Репутация: 80425

Thread Starter Re: "Тупая" железяка

Цитата:
Сообщение от burunduk Посмотреть сообщение
HappySoftX, как вариант, сначала исключить строки не содержащие нужного количества цифр (это примерно 3/4, для этого кстати совсем не обязательно перебирать строки посимвольно), затем стоит исключить то что касается денег, различных атикулов, ID, а вот потом можно регулярками разбирать
Извини но мне кажется ты вообще не понимаешь о чем говоришь плюс для тебя результат не важен. Ты уже решил что любое решение от ГПТ это плохо, значит ты будешь отстаивать его вообще не обращая внимания на код..

Во первых в твоем задании было найти телефон в строке, а не в строках. Так что 90% твоего поста вообще ни о чем.

Во вторых у тебя было в любом формате. Регулярки не справятся. Я специально в демо написал между цифрами пробелы, дефисы, скобки.

В третьих занимаясь дополнительными проверками ты только увеличиваешь время обработки. Ты как нужное количество цифр собрался считать без посимвольного перебора строки? А потом после того как посчитал и набрал нужное количество заново обрабатывать строку? И да проход посимвольно по строке гораздо быстрее чем регулярки. Код выше обрабатывает строку за один прогон. То есть он работает максимально быстро.
HappySoftX вне форума   Ответить с цитированием
Старый 29.06.2024, 21:46   #189
burunduk
попробуй отними
Профессор
 
Аватар для burunduk
 
Регистрация: 14.07.2020
Сообщений: 905
Сказал(а) спасибо: 1,099
Получил(а) "Спасибо": 2,159
Нарушения: 0/0 (0)
Репутация: 757769

По умолчанию Re: "Тупая" железяка

Цитата:
Сообщение от HappySoftX Посмотреть сообщение
Во первых в твоем задании было найти телефон в строке, а не в строках. Так что 90% твоего поста вообще ни о чем.
мне не надо его находить, мне необходимо понять есть тут телефон (контактные данные) или нет
и про 100к строк на строку выше есть упоминание

Цитата:
Сообщение от HappySoftX Посмотреть сообщение
Регулярки не справятся
ты просто не в курсе что такое регулярки
Цитата:
Сообщение от HappySoftX Посмотреть сообщение
В третьих занимаясь дополнительными проверками ты только увеличиваешь время обработки.
с точностью наоборот
Цитата:
Сообщение от HappySoftX Посмотреть сообщение
Ты как нужное количество цифр собрался считать без посимвольного перебора строки?
есть инструменты, тот же PQ

могу даже облегчить тебе задачу
PHP код:
(^|\s)((8|\+7)[\- ]?)?(\(?\d{3}\)?[\- ]?)?[\d\- ]{10}(\s|$) 
подумай как можно преобразовать что бы сразу получать результат

P.S. и ещё для того что бы получить количество цифр с помощью регулярки совсем не обязательно перебирать символы, можно использовать готовые функции, например, в том же SQL REGEXP_COUNT
burunduk вне форума   Ответить с цитированием
Старый 29.06.2024, 21:47   #190
burunduk
попробуй отними
Профессор
 
Аватар для burunduk
 
Регистрация: 14.07.2020
Сообщений: 905
Сказал(а) спасибо: 1,099
Получил(а) "Спасибо": 2,159
Нарушения: 0/0 (0)
Репутация: 757769

По умолчанию Re: "Тупая" железяка

Цитата:
Сообщение от HappySoftX Посмотреть сообщение
Код выше обрабатывает строку за один прогон. То есть он работает максимально быстро
а PQ и SQL обрабатывают сразу весь столбец
burunduk вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отзывы: литературный конкурс "Первый 2024-ый, святочный"" valergapeev Курилка 113 02.02.2024 20:50
Литературный конкурс "Первый 2024-ый, святочный"" valergapeev Курилка 11 23.01.2024 21:42
Мегафон, тарифы "зеленый" и "звони легко", безлимит от 60 рублей в месяц dobroset Биржа услуг 16 19.03.2023 23:49
Ну и зачем сделали все подразделы "Не про работу" только для активных пользователей? Кокетыч О форуме 113 23.07.2020 17:28


Текущее время: 02:21. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions Inc. Перевод: zCarot