![]() |
Модераторы: 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 ) если это символ или цыфра |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Центр помощи" | |
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Центр помощи | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |