Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
12 / 12 / 4
Регистрация: 07.09.2012
Сообщений: 542

Модифицированная strcmp

14.05.2014, 20:04. Показов 1871. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужна функция для сравнения строк, аналог strcmp, только что бы для нее буквы с, р, e, а, о считались одинаковыми как для русского, так и для английского алфавита, то есть что бы 2 одинаково написанные буквы на русской и английской раскладке клавиатуры считались одинаковыми при сравнении 2-ух строк текста.
То есть что бы при сравнении "стол" и "cтoл" они были равны. (Во втором слове первая 'с' это английское 'c', а вторая 'о' это английское 'o'.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.05.2014, 20:04
Ответы с готовыми решениями:

Strcmp Does't work correctly
Добрый день уважаемые форумчане. Пишу программу-словарь для курсового проекта, столкнулся с трудностью, русские слова из поля ввода Edit1 и...

Модифицированная задача коммивояжёра
Здравствуйте Мне необходимо написать программу которая будет находить кратчайший маршрут между заданными точками и возвратом обратно ( но...

Модифицированная спиральная модель ЖЦ
Здравствуйте! Подскажите, пожалуйста, где можно почитать про модифицированную спиральную модель ЖЦ. Сколько не искал, везде...

11
1408 / 572 / 127
Регистрация: 31.10.2011
Сообщений: 1,960
15.05.2014, 07:37
поменяй в исходной строке анлийские символы с твоего набора на руские, а потом сравнивай
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
15.05.2014, 10:29
Цитата Сообщение от _Dimon_ Посмотреть сообщение
поменяй в исходной строке анлийские символы с твоего набора на руские, а потом сравнивай
Товарищ подразумевает, что кто-нибудь за него это сделает
0
1408 / 572 / 127
Регистрация: 31.10.2011
Сообщений: 1,960
15.05.2014, 11:03
Evg, ну может кто-то и найдется...
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
15.05.2014, 11:17
Цитата Сообщение от _Dimon_ Посмотреть сообщение
поменяй в исходной строке анлийские символы с твоего набора на руские, а потом сравнивай
Насколько я знаю функцией strcmp русские буквы сравнивать нельзя, этой функцие можно сравнивать только латинницу
0
Почетный модератор
Эксперт С++
 Аватар для SatanaXIII
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
15.05.2014, 11:27
Цитата Сообщение от Sasha Посмотреть сообщение
функцией strcmp русские буквы сравнивать нельзя
Наверное ей все равно - она ведь сравнивает коды символов. От кодовой страницы наверное надо плясать.
0
1408 / 572 / 127
Регистрация: 31.10.2011
Сообщений: 1,960
15.05.2014, 11:41
тут ТС надо спрашивать, если ему нужно сравнивать AnsiString/UnicodeString, то можно использовать CompareText или CompareStr

Добавлено через 6 минут
а подменить буквы StringReplace

Не по теме:

в php есть хорошая функция str_replace, где можно в качестве искомой и подменяемой строки дать массивы этих строк, таким образом поменять все за один вызов функции...

0
12 / 12 / 4
Регистрация: 07.09.2012
Сообщений: 542
15.05.2014, 22:53  [ТС]
Да вообще говоря думал может функция какая готовая есть, что бы велосипед не изобретать, да еще потом час тупую ошибку в нем не искать.
написал функцию MyStrcmp
Передаю 2 текстовых переменных в MyStrCmp, делаю копии, циклом прохожу обе переменные (копии) по символам от начала до конца, заменяя в
C++
1
2
3
4
5
6
7
8
9
switch(s1[i])
{
case 'e'://e англиское
{
s1[i]='е';//е русское
}
break;
....
}
Далее сравниваю полученные строки и отправляю результат
0
1408 / 572 / 127
Регистрация: 31.10.2011
Сообщений: 1,960
16.05.2014, 03:17
klynxe, я тебе еще в посте №2 написал, что сначало надо заменить на нужные символы, а потом сравнивать

Добавлено через 30 минут
Цитата Сообщение от Sasha Посмотреть сообщение
Насколько я знаю функцией strcmp русские буквы сравнивать нельзя
кстати, я где-то про это читал ...

klynxe, может надо использовать wcscmp для wchar_t ?
Ты ж даже не сказал, какой у тебя билдер .....
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
16.05.2014, 09:05
Цитата Сообщение от _Dimon_ Посмотреть сообщение
кстати, я где-то про это читал ...
Это написано в книге С/С++ и Borland C++ Builder 2006 - Пахомов Б.И 2006 г. страница с описанием этой функции номер 64
1
12 / 12 / 4
Регистрация: 07.09.2012
Сообщений: 542
20.05.2014, 08:37  [ТС]
Билдер 6, а у меня сравнивает вроде и все работает...
0
20.05.2014, 14:29

Не по теме:

Работает, конечно. Через костыль интерпретации таблицы символов товарищей из мелкомягких. Мне, честно сказать, всегда ориентировка только на латиницу казалась попахивающей расизмом.:-!

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.05.2014, 14:29
Помогаю со студенческими работами здесь

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

Модифицированная формула Грина.
Замкнутый контур располагается между графиком функции Y = (1-X)| X+1 | в диапазоне Х = -2 --+ 2, определить его площадь и координаты ценра...

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

strcmp()
#include "stdafx.h" #include <iostream> #include <cstdio> #include <cstring> using namespace std; int main() { ...

strcmp
Вот изучаю С++, тут столкнулся с простой проблеммой, функция strcmp,которая проверяет на равенство 2 строки между собою. Попробывал...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru