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

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

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

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

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

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

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

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

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

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

Не по теме:

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

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

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

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

Не по теме:

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

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
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...

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


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

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