man4ester
Сообщение
#34542 23.4.2009, 21:21
Помогите пожалуйста решить задачу!
------------------
Есть текстовый файл неопределенной длины- стандартный ввод(stdin), нужно отсортировать его строки в лексикографическом порядке по возрастанию и вывести их на стандартный вывод(stdout).
Программа должна запускаться из командной строки и считывать строки текста пока пользователь не сигнализирует о конце файла(стандартного ввода)комбинацией Ctrl+D (unix)или Ctrl+Z (windows).
Необходимо использовать динамическую память для хранения считываемых строк, так как заранее не известно их количество.
Программа сортирует считанные строки любым алгоритмом сортировки и выводит их на stdout.
Лексикографическое сравнение строк:
"ABC"<"ABCD","ABC"="ABC","ABC"<"ABD"
Для его выполнения можно воспользоваться функцией strmcp().
Inspektor
Сообщение
#34543 23.4.2009, 21:28
А как сравнить "ABCD" и "ABD"? Или может strcmp, тогда первый вопрос отпадает. И что конкретно не получается, программу за вас тут не напишут.
man4ester
Сообщение
#34773 26.4.2009, 18:32
Цитата(Inspektor @ 23.4.2009, 21:28)

А как сравнить "ABCD" и "ABD"? Или может strcmp, тогда первый вопрос отпадает. И что конкретно не получается, программу за вас тут не напишут.
жаль...
kaa
Сообщение
#35098 1.5.2009, 12:07
int strcmp(const char *s1, const char *s2); - Сравнивает две строки. Возвращает отрицательное значение, если s1<s2; нуль, если s1==s2; положительное значение, если s1>s2. Параметры - указатели на сравниваемые строки.
int strncmp(const char *s1, const char *s2, int maxlen); - Аналогично предыдущему, только сравниваются первые maxlen символов.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста,
нажмите сюда.