Как записать слова по алфавиту
Перейти к содержимому

Как записать слова по алфавиту

  • автор:

Как записать слова по алфавиту

Как видите, данный лист определений подытоживает весь опыт, накопленный детьми в ходе выполнения проекта «Словарный порядок». Время и организация работы с этим листом определений зависит от того, в какой степени вы успели обсудить с детьми правило словарного порядка в рамках работы с проектом. Если вы в рамках проекта успели обсудить правило словарного порядка достаточно полно, то на знакомство с этим листом определений достаточно 3–5 минут и, скорее всего, общего обсуждения при этом не потребуется. Если класс у вас медлительный и на заключительное обсуждение в рамках проекта времени не оставалось, то дайте детям больше времени на изучение данного листа определений и затем обсудите его вместе с классом. В любом случае данный лист определений рассчитан на наличие у детей значительного опыта работы со словарями. Поэтому данный лист определений можно изучать только после проекта «Словарный порядок» (а не до этого). Данный лист определений призван только подытожить имеющийся у ребенка опыт в виде простых и емких выводов. Именно поэтому мы здесь не пытаемся сформулировать правило словарного порядка научно и полно. Такое правило слишком тяжеловесно и объемно для наших листов определений. Тем не менее мы надеемся, что после работы с проектом «Словарный порядок» ребята поймут данный лист определений без лишних пояснений.

Несмотря на краткость формулировок, каждый абзац данного листа определений содержит важную информацию. Первый абзац будет наиболее естественным для детей. Этим правилом дети пользовались даже при работе с нашим учебным словариком. В первом абзаце обсуждается случай расстановки в словаре слов, первые буквы которых – разные. Во втором абзаце обсуждается случай совпадения первых букв слов или даже совпадения первой части слов (первых двух, трех и т.д.) букв. В таких случаях мы ищем в двух словах первую по счету позицию, на которой стоят две разные буквы, и сравниваем эти буквы. Третий и четвертый абзац посвящен сложным случаям при расстановке слов в словарном порядке. Один из них – когда одно из слов является частью другого. Так получается в том случае, если на первой по счету позиции, на которой стоят не одинаковые символы, в одном из слов стоит пробел (то есть ничего не стоит) а в другом – некоторая буква. В этом случае мы договариваемся, что слово с пробелом стоит раньше. Наконец, на этом листе определений мы напоминаем детям, что дефис и апостроф в упорядочение слов в словаре не учитываются. Это означает, что они упорядочиваются в точности так же, как соответствующие слова, написанные слитно.

Напомним, что в наших задачах на словарный порядок (как и в нашем учебном словаре) буквы «е» и «ё» различаются и слова с этими буквами упорядочиваются в соответствии с алфавитной цепочкой. Если случаи неразличения букв «е» и «ё» в рамках проекта «Словарный порядок» вы с детьми вообще не обсуждали, то здесь можно это не пояснять (для детей это будет совершенно естественным). Если же дети встречались в подобной проблемой во взрослых словарях, то нужно напомнить им, что в наших задачах буквы «е» и «ё» будут всегда различаться.

Решение обязательных бумажных задач

Перед этим уроком вы должны принять для себя важное методическое решение, касающееся дальнейшего использования на уроках алфавитной линейки. Если класс у вас слабый, дети могут и на следующих уроках (как в проекте «Словарный порядок») решать задачи с опорой на алфавитную линейку. В таком случае стоит оставить большую алфавитную линейку над доской и в индивидуальном порядке побуждать детей держать ее перед глазами. Если класс у вас сильный, надо потихоньку приучать детей держать алфавит в голове, убрать большую линейку с доски и в индивидуальных обсуждениях стараться не открывать алфавит непосредственно, а стараться проговаривать его про себя. Можно избрать комбинированную стратегию – убрать алфавитную линейку с доски, но разрешить использовать ее в задачах слабым детям и тем, кому это все еще необходимо.

Задача 69. Это наиболее простая задача на словарный порядок. Для ее решения достаточно понимания первого абзаца листа определений. Как видите, в мешке Q все слова начинаются на разные буквы. А значит, слова должны расставляться в том же порядке, в каком стоят их первые буквы в русской алфавитной цепочке. Одно из слов мешка содержит дефис, но содержательной роли он не играет, ведь положение данного слова в цепочке зависит только от его первой буквы. Некоторую сложность для младших школьников представляет расстановка слов с первыми буквами с Х до Щ, поскольку в этом отрезке алфавита дети чаще путаются. При возникновении таких проблем, окажите детям индивидуальную помощь – предложите заглянуть в алфавитную линейку или вместе проговорите этот отрезок алфавита вслух.

Заметим, что гораздо проще было бы упорядочивать слова, написанные на карточках, чем «сложенные» в мешок (к тому же попутно записывать их в цепочку), поэтому необходимо подумать и об организации работы с различными категориями детей. Возможно, Вам при оказании помощи ребятам помогут следующие советы. Во-первых, можно помечать слова в мешке, уже использованные в цепочке. Это поможет избежать пропусков слов из мешка, а в случае пропуска поможет быстро найти потерянное слово. Во-вторых, вряд ли все ребята смогут избежать ошибок и соответственно исправлений, так что ребенку лучше пользоваться простым карандашом. В-третьих, можно вначале расставить слова в мешке в алфавитном порядке, например, пронумеровав их, а затем по номерам записать их в цепочку. С детьми, которые не знают, как приступить к этой задаче, следует начать с самого начала – сначала найти первое слово в цепочке. Для этого нужно найти слово первая буква которого идет раньше первых букв остальных слов, проверяя, есть ли в мешке слова на А, Б, В и т. д. Так мы доходим до первого в цепочке слова на букву «г» – слова ГДЕ-ТО.
Ответ: ГДЕ-ТО
КАПЛЯ
ЛЕДОКОЛ
МОРКОВЬ
ХОЛОД
ЦАРСКИЙ
ШОРОХ
ЭЛЕМЕНТ
ЯКОРЬ

Задача 70. Условие задачи подразумевает полный перебор слов из Словаря. Однако, кто-то из ребят может сразу догадаться посмотреть слова на Й и Ч (ведь одна из букв условия в них точно есть). Здесь мы находим решение (слово ЧАЙНИК или ЧЕТВЕРТЫЙ). Вообще в задании не требуется найти все слова, соответствующие условию, но кто-то из ваших ребят может случайно наткнуться на слово РУЧЕЙ.

Задача 71. Эта задача несколько сложнее задачи 69, ведь здесь есть слова на одну букву. Если у вас в классе есть совсем слабые дети, сделайте для них копии мешка S. Пусть вырежут все слова из мешка и раскладывают их на столе – вначале на кучки, а затем – в цепочку. После того как все слова окажутся упорядоченными на парте, можно будет записать их в цепочку. Если ребенок не слишком слабый, но в этой задаче запутался, попробуйте порассуждать вместе с ним. Итак, в алфавитном порядке сначала должны стоять слова на букву «а». В мешке такое слово одно – АИСТ, значит оно будет стоять первым в цепочке. Дальше ищем слова на «б», но таких в мешке не оказывается. Зато в мешке есть два слова на «в»: ВОРОН и ВОРОНА. Какое из них должно стоять раньше в цепочке? Это как раз тот случай с листа определений, когда одно слово совпадает с началом (или является частью) другого, значит слово ВОРОН стоит раньше. Дальше ищем слова с первой «г», «д» и т.д., пока не доходим до буквы «з». На букву «з» в мешке начинается тоже два слова – ЗОРЯНКА и ЗЯБЛИК. Упорядочиваем их по второй букве – слово ЗОРЯНКА в цепочке должно идти раньше. Так же будет рассуждать и дальше. Заметим, что на букву «с» у нас три слова и все они упорядочиваются по второй букве.

Как и в задаче 69 посоветуйте детям вначале решать карандашом и использовать пометки. Удобно также сначала пронумеровать слова в мешке, а затем выписывать их в цепочку.

Обратите внимание ребят, что все слова в этой задаче – названия птиц. Наверняка, не все ребята хорошо себе представляют всех этих птиц. Это хороший повод заглянуть в энциклопедию в картинках. При этом нам пригодятся навыки поиска слов в словаре.
Ответ: АИСТ
ВОРОН
ВОРОНА
ЗОРЯНКА
ЗЯБЛИК
СИНИЦА
СНЕГИРЬ
СОВА
ЦАПЛЯ

Задача 72. Заметим, что одинаковых мешков здесь просто нет. Поэтому данная задача в значительной степени арифметическая. Наиболее простой способ ее решения – посчитать вначале сумму денег в каждом мешке и затем среди этих сумм найти две одинаковые.

Задача 73. Для тех ребят, которые еще не догадались, очень уместно провести в данной задаче параллели между темами «Словарь» и «Словарный порядок». Действительно, слова в нашем словаре (как и в настоящем, взрослом словаре) идут в словарном порядке. После того как мы явно сформулировали (в проекте «Словарный порядок» и на текущем листе определений) все правила словарного порядка, для решения задачи подобной данной ребятам больше не требуется заглядывать в словарь. При определении истинности данных утверждений они могут руководствоваться правилами словарного порядка. Напомним, что эти рассуждения справедливы только в том случае, если все эти слова в словаре действительно есть. Но поскольку в нашем курсе нет ни одного бессмысленного утверждения на словарик, об этом можно упомянуть лишь вскользь.

Работа с клавиатурным тренажером, занятие 16

Решение необязательных задач 74 и 75

Задача 74. Довольно сложная задача на поиск одинаковых фигурок. Как видите, здесь есть достаточно похожие между собой фигурки. Поэтому данная задача больше подходит для внимательных и техничных детей.

Задача 75. Похожие задачи детям иногда встречались. Если кто-то из детей здесь совсем запутался, попробуйте вместе с ним сформулировать словами – какая информация заключена в данном утверждении (с окнами). Итак, мы должны найти слово на букву «б» из пяти букв, второе слово после которого – слово на букву «б» из шести букв. Теперь осталось перебрать все слова из пяти букв на «б» и все слова вторые за ними. Получаем утверждение «В Словаре второе слово после БЛЮДЦЕ – слово БУКВА».

Урок 55. Словарный порядок

План урока

  1. Решение электронных задач 265–269.
  2. Решение обязательных бумажных задач 76–80.
  3. Решение необязательной бумажной задачи 81.

Решение электронных задач

Задачи на расстановку слов в словарном порядке проще и быстрее решать в электронном виде. Во-первых, их можно перекладывать лапкой, как мы перекладываем карточки на столе. Во-вторых, их при этом не приходится писать или печатать, что также экономит время. Поэтому мы и предлагаем вам начать с электронных задач, чтобы сразу достичь хорошего темпа урока и быстро вспомнить с детьми материал текущего листа определений.

Задача 265. Это уже более сложная задача чем те, которые ребята решали на предыдущем уроке. Здесь все слова имеют одну и ту же первую букву – букву «г». Поэтому на нее можно просто не обращать внимание, а сразу проанализировать вторые буквы слов. Начнем перебор с начала алфавита – будем искать слова со второй буквой «а», «б», «в» и так далее. Первая по счету буква алфавита у нас оказывается «д» и соответствующих слов в мешке два: ГДЕ и ГДЕ-ТО. В данном случае одно слово совпадает с началом другого, поэтому раньше должно идти слово ГДЕ. Все оставшиеся слова в мешке имеют вторую букву либо «л», либо «о». Значит все эти слова проще сразу разделить на две группы и упорядочивать их отдельно. Электронной лапкой можно произвести это разделение явно – разложить эти слова в кучки. В первой группе будет слова: ГЛАЗ, ГЛАС, ГЛАЗОК, ГЛАЗУНЬЯ, ГЛАЗАСТЫЙ, а во второй: ГОЛОД и ГОСТЬ. Видим, что у слов первой группы не только вторые, но и третьи буквы – одинаковые. Причем четвертые буквы у четырех из них тоже одинаковые. Все слова с четвертой буквой «з» будут идти раньше слова ГЛАС. Теперь рассмотрим пятые буквы всех слов с четвертой «з». У слова ГЛАЗ пятой буквы вообще нет, значит оно идет первым (оно будет совпадать с началом других слов). Оставшиеся слова упорядочиваем по пятой букве. Затем ставим в цепочку последние два слова и получаем ответ.
Ответ: ГДЕ
ГДЕ-ТО
ГЛАЗ
ГЛАЗАСТЫЙ
ГЛАЗОК
ГЛАЗУНЬЯ
ГЛАС
ГОЛОД
ГОСТЬ

Задача 266. Задача на повторение цепочечной лексики, связанной с частичным порядком бусин в цепочке. Таких электронных задач дети решили уже много, поэтому проблем здесь быть не должно. Подходящих цепочек здесь, конечно, много, поэтому вам придется проверять решения в индивидуальном порядке.

Задача 267. Как видите, задачи на словарный порядок все усложняются. Здесь у всех слов в мешке одинаковые начала – 4 первых буквы. Поэтому анализ нужно начинать с пятой буквы слов. Заметим, что здесь имеются только 4 разных пятых буквы: О, Ы, Я и Ь. Поэтому все слова снова делятся на группы, внутри которых слова удобно упорядочивать между собой. Первая группа: ПУСТОШЬ, ПУСТОЙ. Вторая группа: ПУСТЫРЬ, ПУСТЫНЯ, ПУСТЫРНИК, ПУСТЫННИК. Третья группа: ПУСТЯК, ПУСТЯЧОК. Четвертая группа: ПУСТЬ. Группы мы упорядочиваем по пятой букве – сначала идут слова первой группы, затем слова второй группы, потом – четвертой группы и наконец третьей. Внутри каждой группы слова будут упорядочиваться уже по шестой и т.д. буквам.
Ответ: ПУСТОЙ
ПУСТОШЬ
ПУСТЫННИК
ПУСТЫНЯ
ПУСТЫРНИК
ПУСТЫРЬ
ПУСТЬ
ПУСТЯК
ПУСТЯЧОК

Задача 268. Эта задача очень похожа на задачу на построение мешка по двум его одномерным таблицам, только сформулирована она совсем иначе (из-за этого дети вряд ли увидят аналогию). Действительно, первое и второе утверждения о видах (формах) фигурок в мешке. В мешке должно быть 6 груш и 4 банана. Поскольку всего в мешке должно быть 17 фигурок, значит остальные 7 фигурок в мешке – яблоки. Так мы получили первую одномерную таблицу для мешка (по формам).

Урок по русскому языку : «Запись слов в алфавитном порядке».
план-конспект занятия по русскому языку (1 класс)

Уважаемые коллеги, представляю Вашему вниманию урок закрепления и систематизации знаний учащихся по теме «Запись слов в алфавитном порядке». УМК «Школа России».

Скачать:

Вложение Размер
Файлzapis_slov_v_alfavitnom_poyadke.pptx 2.76 МБ
Файлzapis_slov_v_alfavitnom_poryadke.docx 46.48 КБ
Предварительный просмотр:

Подписи к слайдам:

Русский язык Учимся красиво и правильно писать.

м у ка — мук а т у ши — туш и кр у жки — кружк и з а мок — зам о к в о рон — вор о н б е лки — белк и

Словарь омографов б е лки — белк и в о рон — вор о н з а мок — зам о к кр у жки — кружк и м у ка — мук а т у ши — туш и

Орфографический словарь Диван Картина Картон Корзина

Словарь близких по значению слов Слова для справок : ребята,изба , воин, доктор.

Предварительный просмотр:

Технологическая карта урока

Ковыршина Елена Николаевна

Тема урока : Запись слов в алфавитном порядке.

Цель урока : Способствовать закреплению умений учащихся располагать слова в алфавитном порядке, дифференцировать виды словарей по назначению.

— систематизировать знания обучающихся об алфавите;

— закрепить правильное название букв алфавита;

— закрепить алгоритм выполнения заданий на расположение слов в алфавитном порядке по начальной и последующих букв в слове.

— совершенствовать представление обучающихся о дифференциации словарей по назначению;

— способствовать развитию орфографической зоркости, обогащению словарного запаса.

-понимают принцип построения алфавитного порядка букв ;

-умеют правильно называть буквы;

-выполняют задания на расположение слов в алфавитном порядке по начальной и последующих букв в слове;

-дифференцируют словари по их назначению.

— оценивают учебные действия в соответствии с поставленной задачей;

-выполняют учебное задание в соответствии с целью;

-выполняют самопроверку учебного задания и вносят корректировку в выполненное задание.

-овладевают базовыми предметными и межпредметными

понятиями, отражающими существенные связи и отношения между объектами и процессами; выполняют логические действия : сравнение, синтез, анализ).

— строят речевые высказывания в соответствии с задачами коммуникации.

-адекватно воспринимают звучащую речь учителя, партнера.

— осознают собственные достижения при освоении темы;

— проявляют интерес к изучению русского языка

Ресурсы урока: Учебник В.П. Канакина, презентация, мультимедийная доска.

Мотивация к деятельности

  1. Организационный момент.

Проверяет готовность обучающихся к уроку, создает эмоциональный настрой на изучение предмета.

Отдых наш кончается ,работа начинается.

Усердно будем мы трудится , чтобы многому научится.

Приветствуют учителя, организовывают рабочее место.

1.Ребята, чему мы учимся на каждом уроке русского языка?

-Вот и сейчас мы запишем буквосочетания, очень постараемся , чтоб было красиво .

-Выполнение пальчиковой гимнастики.

-Какой вид соединения использовали ?

Запишем скороговорку с буквосочетанием оп.

На пеньке опять пять опят.

Отметим орфограммы в предложении, посчитаем количество букв и звуков в слове «пять».

В каких словах нам не надо ставить ударение ?

-Прочитайте каждую букву отдельно.

-Знакомо ли вам такой порядок букв ?

-Что такое алфавит ?

-Продолжите чёткий порядок букв в алфавите.

-Красиво и грамотно писать.

В словах — на- -пять —

-Да это порядок букв из алфавита.

Дают определение алфавита.

Продолжают называть алфавитный порядок букв после буквы с.

Молодцы ребята , вы с достоинством справились с заданием.

-Вспомните в каких случаях вы используете знания алфавита в вашей школьной жизни?

-Ваши знания алфавита вам очень часто пригодятся в жизни.

Умение пользоваться алфавитным порядком сэкономит вам время в повседневной жизни.

Вы станете учёными и будете составлять словари, вы будете учителями и будете составлять списки своих учащихся.

Какая тема нашего урока ?

Какие задачи мы ставим перед собой на уроке ?

-Список дежурных, поручений, список Дня рождения каждого ученика.

Повторим алфавит и название букв алфавита.

Будем записывать слова в алфавитном порядке.

Организация познавательной деятельности

Обращает внимание на слайд № 2

-Прочитайте слова. Что общего в этих словах. А что разное ?

-Красный цвет указывает ударение в словах.

-Прочитайте слова учитывая ударение.

-Что же это за слова ? Давайте ещё раз проговорим признаки этих слов .

-Как называются эти слова ?

-Верно , мы прочитали небольшую часть слов из словаря омографов.

-Но почему эту страничку мы не можем назвать страничкой из словаря ?

-Как вы думаете , какая у нас сейчас задача ?

Вспомните алгоритм наших действий. Слайд №3

— Запишем только первые 3 пары омографов, указывая ударение.

-Проверим записанные омографы

— Гласные буквы окрашены в разный цвет.

Читают , расставляя ударение.

-У слов одинаковое написание , но разное произношение (из-за того что изменилось ударение в слове).

-В словаре слова расположены в алфавитном порядке.

-Расставить слова — омографы в алфавитном порядке.

-Записывают первые 3 пары омографов.

1.ученик у мультимедийной доски выставляет первые 3 пары омографов в алфавитном порядке.

Физминутка. Выполняют физ.минутку.

Здорово мы попутешествовали.

Хорошо, что мы путешествовали без багажа.

А то с нами могла произойти всем известная история , которую описал Самуил Яковлевич Маршак в своём произведении « Багаж».

-С. Я.Маршак написал это произведение в 1926 году., т.е почти 100 лет назад .И. наверно есть некоторые слова которые вам, непонятны .

-Что делать в этом случае ?

-Как же разобраться с непонятными словами ?

-Какое слово вам непонятно ?

Учитель берёт толковый словарь :

-на какую букву начинается слово?

-открываем содержание , смотрим номер страницу на букву –С-, читаем.

-Ребята , все слова , которые составляют багаж дамы являются словарными словами. Т.е правильное слов написание надо запомнить.

Как называется словарь в котором записаны все словарные слова?

В этом задании мы вспомним как мы записываем слова , если они начинаются с одной буквы.

-Найдите эти слова.

Вспомните алгоритм наших действий.

-Мы запишем первое слово «диван», а остальных 3 слова на букву -к -вы запишите самостоятельно.

-Проверим, комментирует Арсений.

-Прослушайте стихотворение. «У прохожих на виду» Слайд №7

-На какие слова автор направил наше внимание?

-Вспомните слова противоположные по смыслу в стихотворении ?

Русский алфавит. Запись слов в алфавитном порядке.

Нажмите, чтобы узнать подробности

— На прошлых уроках мы с вами говорили об именах собственных. Давайте вспомним когда мы пишем слова с заглавной буквы.

Вставьте пропущенные буквы в следующие предложения(устно):

На диване лежит кот (П/п)ушок.

Ветер несет (П/п)ушок.

Этот торт пекла тётя (Р/р)оза.

Возле дома растет (Р/р)оза.

На небе яркая (З/з)орька.

На лугу пасется коза (З/з)орьяка.

— Объясните написание данных слов.

— Сегодня мы вспомним, что такое алфавит. Я предлагаю вам работать по следующему плану:

1. Уточним знание об алфавите.

2. Уточним название каждой буквы и ее место в алфавите.

3. Научимся располагать слова по алфавиту.

— Чтоб стали нам знакомы

Нужна нам Астрономия

И чтоб секреты многие

Открыла нам земля,

Как много интересного

В себе они таят –

Но ни одной профессии

Постичь, друзья, нельзя

Без королевства грамоты

— О каком же королевстве идет речь? (Об алфавите)

— Слово «алфавит» пришло к нам из другого языка. А какое еще название алфавита вы знаете? (Азбука)

— Это русское слово. Раньше буквы назывались целым словом: «А — аз, Б — буки, В — веди, Г — глагол, Д — добро. » По названию первых букв и стали называть порядок всех букв — азбукой.

— Откройте учебник на стр. 52 и прочитайте правило.

Выполните упражнение 2 устно на стр.53.

— Алфавит надо знать каждому человеку. В алфавитном порядке расположены слова в любом словаре. В библиотеке книги тоже стоят по алфавиту. Фамилии учеников в классном журнале, фамилии в телефонном справочнике — все расставлено по алфавиту.

Выполните упражнение 7 (письменно) на стр.55.

Выучить алфавит наизусть с.52.

Напечатать слова в алфавитном порядке

Дана строка, содержащая от 1 до 30 слов, в каждом из которых от 1 до 5 строчных латинских букв; между соседними словами – запятая, за последним словом – точка. Напечатать: Все слова в алфавитном порядке Вот что у меня получилось сделать это разделить слова и записать их в новый массив, если кто может пояснить или написать, как сделать, буду очень признателен:

 #include "stdafx.h" #include "string.h" #include "stdio.h" void razbit(char *str,char slova[30][11],int *nn); void sort(char *str); int _tmain(int argc, _TCHAR* argv[]) < char s[350] = ; char slova[30][11]; int i, n = 30; gets(s); razbit(s, slova, &n); return 0; > void razbit(char*str,char slova[30][11],int *nn) < int n,i,j; char *s, *p = str; n = *nn; for(;*p != '.';) < while((*p != '.') && (*p == ',')) p++; s = p; if (*s != '.') < p = strstr(s, ","); if (p == NULL) p = strstr(s, "."); j = p - s; strncpy(slova[n], s, j); slova[n][j]='\0'; n++; >> *nn = n; > 

Отслеживать
задан 24 янв 2014 в 16:05
1 1 1 серебряный знак 2 2 бронзовых знака
Выделите код и нажмите на кнопочку <>. Так его читать не возможно.
24 янв 2014 в 16:15
24 янв 2014 в 18:24

3 ответа 3

Сортировка: Сброс на вариант по умолчанию

Немного более общий, чем в задании, случай.

#include #include #include #include // разбиваем на слова "на месте" (если '.' пропущена, то завершаемся также по '\n') // Returns массив указателей на слова (в куче) и количество слов char ** split (char *s, int *pn) < char **arr = 0; int c, cur = 0, n = 0, incr = 30; do < if (n + 2 >cur) arr = realloc(arr, (cur += incr) * sizeof(*arr)); arr[n++] = s; while ((c = *s) && *s != ',' && *s != '.' && *s != '\n') s++; *s++ = 0; > while (!(c == 0 || c == '.' || c == '\n')); arr[*pn = n] = 0; return arr; > // это функция для qsort() (см. man 3 qsort) static int cmp (const void *p1, const void *p2) < return strcmp(*(char **)p1, *(char **)p2); >static void print (char *a[]) < int i; for (i = 0; a[i]; i++) printf("%s%c", a[i], a[i + 1] ? ' ' : '\n'); >int main (int ac, char *av[]) < char **arr = 0; int n = 0; char in[LINE_MAX]; while (fputs("enter: ", stdout), fflush(stdout), fgets(in , sizeof(in), stdin)) < arr = split(in, &n); qsort(arr, n, sizeof(*arr), cmp); print(arr); free(arr); >return puts("\nend") == EOF; > 

Сортируем массив указателей, сами слова не двигаем.

Надеюсь, чем-то будет полезен. Например, как в чистом Си можно делать динамические массивы.

UPD

Еще несколько полезных для подобных задачек функций

// Отрезает правые пробелы в строке нулем (nil). // Returns указатель на первый непробельный символ. Строка может стать пустой. char * trim (char *s) < while (isspace(*s)) s++; if (*s) < char *t = s + strlen(s) - 1; while (t >s && isspace(*t)) t--; *(t + 1) = 0; > return s; > // trim() для всех элементов NULL-terminated массива строк void trim_arr (char *a[]) < for (; *a; a++) *a = trim(*a); >// Сдвигает непустые элементы NULL-terminated массива строк влево. // Returns их количество. int shrink_arr (char *a[]) < int i, j = 0; for (i = 0; a[i]; i++) if (*a[i]) a[j++] = a[i]; a[j] = a[i]; // NULL array delimiter return j; >

Теперь main может выглядеть, например, так

int main (int ac, char *av[]) < char **arr = 0; int n = 0; char in[LINE_MAX]; while (fputs("enter: ", stdout), fflush(stdout), fgets(in , sizeof(in), stdin)) < arr = split(in, &n); trim_arr(arr); n = shrink_arr(arr); qsort(arr, n, sizeof(*arr), cmp); print(arr); free(arr); >return puts("\nend") == EOF; > 

а ввод данных и их вывод, вот так:

avp@avp-ubu1:~/hashcode$ ./a.out enter: 1,, 0a, zz, xxx , 22 88 . 0a,1,22 88,xxx,zz. enter: end avp@avp-ubu1:~/hashcode$ 

это я немного print() изменил

static void print (char *a[])

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *