Автор Тема: Программа на языке С, сравнить слова и вывести самое длинное слово  (Прочитано 6256 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн non_fitto

  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Добрый вечер! ...
Не могу разобраться с одной программой. Условия следующие:
Пользователь вводит с клавиатуры строку (строка изначально не ограничена, может быть любой длины, предполагается, что идет ввод посимвольно с перевыделением памяти (P.S. я осуществил через realloc. Работает. А Как сделать то же самое, только через malloc?) Далее нужно определить сколько слов в данной строке, что была введена пользователем. Сравнить слова и вывести самое длинное слово в данной строке.

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

Не могу понять, как определить длину каждого слова и затем сравнивать их... Я где-то читал, что нужно делать массив указателей, где каждый указатель указывает на определенное слово, что так проще потом находить длины, но не знаю как это осуществить на Си.

Помогите пожалуйста... Буду очень благодарен!!!
« Последнее редактирование: 05 Января 2011, 20:59:25 от Asix »

Оффлайн testtest

  • Старожил
  • ****
  • Сообщений: 376
    • Просмотр профиля
тебе нужно два указателя на unsigned int, и два указателя на буферы. всего 4, инициализированных.
читаешь посимвольно (да, это позорно, но по-другому никак) ввод, запоминаешь каждую букву в буфер, и увеличиваешь счетчик его длины.
встретив конец слова, сравниваешь его длину с максимальной запомненной (это второй счетчик), и если новое слово длиннее - меняешь местами указатели на int и на буферы.
таким образом, избавляешься от перегонки слов туда-сюда.
ну и realloc() тоже нужен, наверное.

 

Помогите решить задачку на C. Удалить слово с заданным номером.

Автор Natafka

Ответов: 0
Просмотров: 5580
Последний ответ 22 Июня 2010, 20:26:39
от Natafka
Дан текстовый файл со строками. Найти повторяющиеся слова и заменить

Автор bifshtex

Ответов: 7
Просмотров: 8419
Последний ответ 08 Января 2010, 21:10:33
от InfStudent
Каждое слово one заменить на three

Автор ilyha93

Ответов: 2
Просмотров: 3058
Последний ответ 27 Декабря 2011, 00:30:04
от ilyha93
visual basic, программа для вычисления силы тока, сопротивления, напряжения

Автор Иришка!!!

Ответов: 0
Просмотров: 6177
Последний ответ 10 Февраля 2011, 14:36:16
от Иришка!!!
СИ структуры, вывести в порядке убывания количества

Автор neiromagick

Ответов: 2
Просмотров: 5964
Последний ответ 09 Января 2011, 23:39:11
от Данила