Помощь - Поиск - Пользователи - Календарь
Полная версия: Программа С > Информатика / Программирование
Образовательный студенческий форум > Другие дисциплины > Информатика / Программирование
man4ester
Помогите пожалуйста решить задачу!

------------------
Есть текстовый файл неопределенной длины- стандартный ввод(stdin), нужно отсортировать его строки в лексикографическом порядке по возрастанию и вывести их на стандартный вывод(stdout).

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

А как сравнить "ABCD" и "ABD"? Или может strcmp, тогда первый вопрос отпадает. И что конкретно не получается, программу за вас тут не напишут.

жаль...
kaa
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 символов.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Русская версия Invision Power Board © 2001-2024 Invision Power Services, Inc.