Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 03.04.2009, 00:02   #11
crit
Форумчанин
 
Регистрация: 26.04.2008
Сообщений: 121
По умолчанию

вот здесь пжалуста объясните что делали, не оч понятно
Код:
int k_strcmp(const char* s1, const char* s2)
{
while(*s1 && *s2)
 {
  if(*s1>*s2) return 1;
  if(*s1<*s2) return -1;
  s1++; s2++;
 }
return 0;
}

Последний раз редактировалось MaTBeu; 03.04.2009 в 01:01.
crit вне форума
Старый 03.04.2009, 00:16   #12
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Там даже еще добавить нужно:
Код:
int k_strcmp(const char* s1, const char* s2)
{
while(*s1 && *s2)  // пока не дойдем до конца одной из строк
{
if(*s1>*s2) return 1;  // если символ первой строки больше символа второй
if(*s1<*s2) return -1; // если символ первой меньше второй
s1++; s2++;  // переходим к следующим символам
  if(*s1 && *s2==0 ) return 1;  // если вторая строка кончилась, а первая еще нет
  if(*s2 && *s1==0 ) return -1; // наоборот, если первая кончилась
}
return 0;  // если прошли цикл, значит они равны
}
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума
Старый 03.04.2009, 00:46   #13
Peter20
 
Регистрация: 31.03.2009
Сообщений: 6
По умолчанию

к чему такие сложности в strcmp?

Вот так strcmp реализована в библиотеке libc в ОС FreeBSD

Код:
int strcmp(const char *s1, *s2)	
{
	while (*s1 == *s2++)
		if (*s1++ == 0)
			return (0);
	return (*(const unsigned char *)s1 - *(const unsigned char *)(s2 - 1));
}
также strcpy
Код:
char * strcpy(char * __restrict to, const char * __restrict from)
{
	char *save = to;

	for (; (*to = *from); ++from, ++to);
	return(save);
}
и strlen
Код:
size_t strlen(const char *str)
{
	const char *s;

	for (s = str; *s; ++s);
	return(s - str);
}
Peter20 вне форума
Старый 09.04.2009, 00:06   #14
crit
Форумчанин
 
Регистрация: 26.04.2008
Сообщений: 121
По умолчанию

Код:
int k_strcmp(const char* s1, const char* s2)
{
while(*s1 && *s2)  // пока не дойдем до конца одной из строк
{
if(*s1>*s2) return 1;  // если символ первой строки больше символа второй
if(*s1<*s2) return -1; // если символ первой меньше второй
s1++; s2++;  // переходим к следующим символам
  if(*s1 && *s2==0 ) return 1;  // если вторая строка кончилась, а первая еще нет
  if(*s2 && *s1==0 ) return -1; // наоборот, если первая кончилась
}
return 0;  // если прошли цикл, значит они равны
}
а можно вот это расписать нормально??

код имею ввиду,уж больно тут все сокращенно

Последний раз редактировалось MaTBeu; 09.04.2009 в 19:09.
crit вне форума
Старый 09.04.2009, 19:10   #15
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,619
По умолчанию

Цитата:
а можно вот это расписать нормально??
Нормально? А не сильно ли вы много хотите? Пришли такие "Напишите мне функции!!! Быстро!!!" Написали, так еще и ненормально получилось.

Тема закрыта. Причина - сильно наглый ТС
MaTBeu вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с strcpy() TheWanderer Общие вопросы C/C++ 13 04.07.2013 03:20
FastString::FastString(const char *psz) : m_psz(new char [strlen(psz) + 1]) { strcpy(m_psz, psz); } lebedun Общие вопросы C/C++ 3 27.03.2009 03:43
не работает strcat(),strcpy() MeGaTpoH Общие вопросы C/C++ 5 25.01.2009 17:31
Объясните, как работает функция strlen() TheWanderer Общие вопросы C/C++ 9 25.11.2008 22:46
strcpy (visual c++ 6.0) JOFRIF Visual C++ 2 04.08.2008 12:19