![]() |
Модераторы: Poseidon |
![]() ![]() ![]() |
|
Denzel666 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 41 Регистрация: 13.12.2006 Где: Дзержинск Репутация: -1 Всего: нет |
Приветствую мозговой центр сети интернет...Призываю откликнуться на просьбу...Поступила задача на сравнение 2-х строк ...Сравнивание производить по буквам,цифрам и пробелам...(Язык Си)...решение нужно как воздух...Если же программерам в косяк написать пару строк проги, буду рад хотя бы алгоритму решения...По моим соображениям в строках надо удалить все символы не относящиеся к символам указанным в задаче,а затем производить сравнение непосредственно строк с символами относящимися к поставленной задаче...если это не так просьба поправить меня...
|
|||
|
||||
Oleg_Ci |
|
|||
![]() Friend ![]() ![]() Профиль Группа: Участник Сообщений: 485 Регистрация: 28.5.2006 Где: Новосиб.обл. Репутация: 25 Всего: 30 |
|
|||
|
||||
Rockie |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 23.4.2006 Репутация: 13 Всего: 31 |
Олег4, это не Си
![]() -------------------- Чтобы иметь большой гардероб - надо иметь большой гардероб. |
|||
|
||||
Oleg_Ci |
|
|||
![]() Friend ![]() ![]() Профиль Группа: Участник Сообщений: 485 Регистрация: 28.5.2006 Где: Новосиб.обл. Репутация: 25 Всего: 30 |
да, ошибочка вышла
![]()
|
|||
|
||||
Denzel666 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 41 Регистрация: 13.12.2006 Где: Дзержинск Репутация: -1 Всего: нет |
здесь как видите сравниваются строки...но это неверное решение...мне необходимо сравнить
строки...равенство возможно лишь в том случае если длина строк одинакова и одинаково расположение элементов(символов) в строке...подскажите что не так... |
|||
|
||||
Oleg_Ci |
|
|||
![]() Friend ![]() ![]() Профиль Группа: Участник Сообщений: 485 Регистрация: 28.5.2006 Где: Новосиб.обл. Репутация: 25 Всего: 30 |
А так ?
Это сообщение отредактировал(а) Олег4 - 17.12.2006, 08:57 |
|||
|
||||
Denzel666 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 41 Регистрация: 13.12.2006 Где: Дзержинск Репутация: -1 Всего: нет |
не очень понятен алгоритм...с этим проблема всегда была...
|
|||
|
||||
Denzel666 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 41 Регистрация: 13.12.2006 Где: Дзержинск Репутация: -1 Всего: нет |
int strcmp(char s[],char t[])
{ 18/12/2006) for (;*s==*t;s++,t++*) if(*s='\0') return 0; return *s-*t; } функция сравнивающая стринги...все бы ничего да препод у нас галимый...ниче не понял я...Возможно ли переделать вот это в чудо в требуемое? Добавлено @ 02:34 18/12/2006)-вот эта строчка лишняя как вы понимаете |
|||
|
||||
cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 15 Всего: 99 |
Не понял суть проблемы? Ты не понимаешь, что вам препод написал или эта функция делает не то, что нужно? p.s. пользйуся тегами "код"! -------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
semi |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 59 Регистрация: 10.12.2006 Где: ой, все сложно... Репутация: нет Всего: нет |
алгоритм говоришь...
![]() проверяем, равны ли строки по длине. если нет -> ответ отрицательный. если да -> проверяем вхождение строки 1 в строку 2. (там же была вроде стандартная функция, проверяющая наличие подстроки в строке). ну... и соответственно, если возвращает 1 (номер символа с которого начинается подстрока) то ответ положительный, а если null (или что она там возвращает в случае неудачи, не помню...) то отрицательный. Олег4 даже не представляю, как он будет защищать лабу с твоим кодом, если даже не понимает что препод объяснял... ![]() |
|||
|
||||
Oleg_Ci |
|
|||
![]() Friend ![]() ![]() Профиль Группа: Участник Сообщений: 485 Регистрация: 28.5.2006 Где: Новосиб.обл. Репутация: 25 Всего: 30 |
Вот попроще функция, только делает то что я понял в задании
![]()
|
|||
|
||||
Denzel666 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 41 Регистрация: 13.12.2006 Где: Дзержинск Репутация: -1 Всего: нет |
3: if( isalnum( *c1 ) && isalnum( *c2 )) // если это символ или цыфра
Вот это не понятно...Что такое isalnum?Все непонимание на мамом деле в этой строчке кода...Это в лекциях нет...поэтому сетую на препода... Добавлено @ 00:28 Попробую изложить задачу на примере...Допустим даны 2 строки : a df="2 и a df="t2 По условию они сразу же не равны так как имеют разную длину... a df="2 и a df="2 В этом же случае если литеры "a" и в 1-ом и во 2-ом стринге находятся на одном и том же месте , и та же история с остальными символами, т.е. их коды и адрес в строках совпадают , при этом длины строк равны, только в этом случае они равны... |
|||
|
||||
Denzel666 |
|
||||
Новичок Профиль Группа: Участник Сообщений: 41 Регистрация: 13.12.2006 Где: Дзержинск Репутация: -1 Всего: нет |
подскажите пожалуйста как работает эта функция...
Это сообщение отредактировал(а) alexeis1 - 19.12.2006, 14:04 |
||||
|
|||||
cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 15 Всего: 99 |
Функция, которая делает проверку на см. комментарий справа от исп. функции. Для начала прочитай о том, что такое указатели... -------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
Oleg_Ci |
|
|||
![]() Friend ![]() ![]() Профиль Группа: Участник Сообщений: 485 Регистрация: 28.5.2006 Где: Новосиб.обл. Репутация: 25 Всего: 30 |
Это сравнение двух строк, причём сравнивает все символы, а ты задание такое написал Тебе обычное сравнение нужно или сравнение только по буквам,цифрам и пробелам ???
описана, там глава про указатели, почитай ![]() ( isalnum != 0 ) если это символ или цыфра |
|||
|
||||
Denzel666 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 41 Регистрация: 13.12.2006 Где: Дзержинск Репутация: -1 Всего: нет |
По буквам цифрам и пробелам...а про isalnum так и не понял...это стандартная ф-ция? |
|||
|
||||
cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 15 Всего: 99 |
-------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
Oleg_Ci |
|
|||
![]() Friend ![]() ![]() Профиль Группа: Участник Сообщений: 485 Регистрация: 28.5.2006 Где: Новосиб.обл. Репутация: 25 Всего: 30 |
||||
|
||||
Denzel666 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 41 Регистрация: 13.12.2006 Где: Дзержинск Репутация: -1 Всего: нет |
это стандартная ф-ция isalnum? Олег4 , можно попросить ссылку на книгу эту(и)? |
|||
|
||||
cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 15 Всего: 99 |
У меня такое впечатление, что ты и слово "библиотека" неправильно понимаешь... ![]() -------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
V.A.KeRneL |
|
|||
![]() Vadim A. Kazantsev ![]() ![]() Профиль Группа: Участник Сообщений: 291 Регистрация: 3.12.2006 Где: Moscow, Russia Репутация: 7 Всего: 14 |
1) Ссылки на страницы руководства (man-страницы):
a) isalnum(): * in english: http://www.opengroup.org/onlinepubs/007908...sh/isalnum.html * in russian: http://www.opennet.ru/man.shtml?topic=isal...3&russian=0 b) strcmp(): * in english: http://www.opengroup.org/onlinepubs/007908...xsh/strcmp.html * in russian: http://www.opennet.ru/man.shtml?topic=strc...3&russian=0 2) Denzel666, всё-таки я тебя не пойму! Если уж объясняешь на примерах, то объясняй на них до конца, так чтоб очевидно понятно стало, что именно нужно! Что должна возвращать требуемая тебе функция на следующих «тестах»: ans_strcmp( "123 abc", "123abc" ); //=> Тут, ясен пень, 0, т.е. равны. ans_strcmp( "123 abc", "123 +abc" ); //=> Тут, тоже понятно, ненулевое значение, т.е. неравны. ans_strcmp( "123-ab c", "123+ab c" ); // А тут что? ans_strcmp( "123 ab\"c", "123 ab\\c" ); // И тут? ? В последнем случае длины строк равны, все цыфры, буквы и пробелы одинаковы и стоят на одинаковых позициях, что по твоей изначальной спецификации, вроде, должнен получиться 0 (равны). Функция strcmp() из стандартной библиотеки C для таких паратетров вернёт ненулевое значение (неравны). Так что именно тебе нужно?!. Это сообщение отредактировал(а) V_A_KeRneL - 21.12.2006, 10:23 -------------------- «C'est un pense-creux d'ici. C'est le meilleur et le plus irascible homme du monde...» © Ф.М. Достоевский, «Бесы» ---/)/)---(\.../)---(\(\ --(':'=)---(=';'=)---(=':') (")(")..)-(").--.(")-(..(")(") |
|||
|
||||
Rockie |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 23.4.2006 Репутация: 13 Всего: 31 |
![]() -------------------- Чтобы иметь большой гардероб - надо иметь большой гардероб. |
|||
|
||||
Oleg_Ci |
|
|||
![]() Friend ![]() ![]() Профиль Группа: Участник Сообщений: 485 Регистрация: 28.5.2006 Где: Новосиб.обл. Репутация: 25 Всего: 30 |
||||
|
||||
![]() ![]() ![]() |
Правила форума "Центр помощи" | |
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Центр помощи | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |