![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Denzel666 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 41 Регистрация: 13.12.2006 Где: Дзержинск Репутация: нет Всего: нет |
Приветствую мозговой центр сети интернет...Призываю откликнуться на просьбу...Поступила задача на сравнение 2-х строк ...Сравнивание производить по буквам,цифрам и пробелам...(Язык Си)...решение нужно как воздух...Если же программерам в косяк написать пару строк проги, буду рад хотя бы алгоритму решения...По моим соображениям в строках надо удалить все символы не относящиеся к символам указанным в задаче,а затем производить сравнение непосредственно строк с символами относящимися к поставленной задаче...если это не так просьба поправить меня...
|
|||
|
||||
| codelord |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 777 Регистрация: 7.5.2005 Где: ты моя темноглаза я где?! Репутация: 1 Всего: 39 |
что то не совсем ясно, тебе надо чтобы строки
были равны? |
|||
|
||||
| nikitao |
|
|||
![]() Кот-программист ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1206 Регистрация: 30.8.2005 Где: Спб Репутация: 1 Всего: 26 |
Итак, господа программисты - телепаты, что мы имеем :
1. Есть задание. 2. В нем что то связанное со строками надо сравнить 3. Программу надо реализовать на С. 4. В задании указаны какие то символы, которые надо использовать при ее решении. 5. Решение нужно как воздух. Denzel666, сформулируйте нормально задание -------------------- Жизнь - печальная штука. |
|||
|
||||
| apook |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 794 Регистрация: 12.7.2006 Репутация: 9 Всего: 23 |
Скорее всего товарищу надо просто сравнить две строки
Хорошо хоть не сказал что надо удалить все кроме символов Везде где есть индекс сравнение проще простого if( str_1[0] == str_2[0] ) тогда символы совпали -------------------- Мои руки из дуба, голова из свинца ну и пусть ... |
|||
|
||||
| Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 9 Всего: 59 |
Присоединяюсь к codelord
Непонятно с длинами строк. Если строки разной длины они по-любому разные, или если в них только указанные символы различаются? |
|||
|
||||
| Denzel666 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 41 Регистрация: 13.12.2006 Где: Дзержинск Репутация: нет Всего: нет |
#include <stdio.h>
#include <ctype.h> int cmp( const char * c1, const char * c2 ){// функция сравнения do{ for(; !isalnum( *c1 ) && *c1 != ' ' ; c1++ ); for(; !isalnum( *c2 ) && *c2 != ' ' ; c2++ ); }while( *c1++ == *c2++ && *c1 && *c2 ); return !( *c1 + *c2 ); } // можно так - return *c1 + *c2 ... if( !cmp( c1, c2 )) // << int main(int argc, char *argv[]) { char * c1 = "asdf. g,fds"; char * c2 = "asd...f.. g{}[[[]f[ds"; if( cmp( c1, c2 )) // << puts("True"); else puts("False"); getchar(); return 0; } здесь как видите сравниваются строки...но это неверное решение...мне необходимо сравнить строки...равенство возможно лишь в том случае если длина строк одинакова и одинаково расположение элементов(символов) в строке...подскажите что не так... |
|||
|
||||
| zkv |
|
|||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 26 Всего: 92 |
Denzel666, признаться ваш код меня несколько испугал, задания я так и не понял, но, возможно, следующая функция поможет вам:
|
|||
|
||||
| Rockie |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 23.4.2006 Репутация: 8 Всего: 31 |
Denzel666, посмотри, как это делает strcmp() из стандартной библиотеки и будет тебе счастье
-------------------- Чтобы иметь большой гардероб - надо иметь большой гардероб. |
|||
|
||||
| Denzel666 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 41 Регистрация: 13.12.2006 Где: Дзержинск Репутация: нет Всего: нет |
не очень понятен алгоритм...с этим проблема всегда была...
|
|||
|
||||
| Denzel666 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 41 Регистрация: 13.12.2006 Где: Дзержинск Репутация: нет Всего: нет |
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)-вот эта строчка лишняя как вы понимаете |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 12 Всего: 459 |
З.Ы. Вторая тема в ЦП http://forum.vingrad.ru/index.php?showtopic=127549 -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |