0 / 0 / 0
Регистрация: 28.03.2010
Сообщений: 3
|
||||||
1 | ||||||
Разбить строку на массив слов05.04.2010, 12:50. Просмотров 11345. Ответов 4
Метки нет Все метки)
(
Как разбить массив символов в отдельный массив по слову?Я вот что-то написал,проде бы правильно,но когда например ввожу строку "heavy metal rulit vsegda",то mas[2] выводится "rilitMMMMvsegda".
0
|
|
05.04.2010, 12:50 | |
Как разбить строку на массив слов? Разбить строку на массив слов используя strtok()
|
|
8 / 8 / 1
Регистрация: 11.02.2010
Сообщений: 21
|
|
05.04.2010, 15:07 | 2 |
У меня твой код работает, выдаёт "rulit".
0
|
9 / 9 / 1
Регистрация: 03.04.2010
Сообщений: 22
|
||||||
05.04.2010, 16:21 | 3 | |||||
Не правильно выводишь конечный массив. В строке 9 ты делаешь разбиение строки слов на отдельные слова, и каждое слово записываешь в новую строку двумерного массива. Т.е., строка Heavy metal rulit, введенная в программу, будет преобразована так: Heavy запишется в первую строку двумерного массива, metal - во вторую, rulit - в третью. Причем, поскольку в эту строку(mas1[]) не введено 100 символов, то оставшееся место, у меня, например, будет заполнено значением 52(если рассматривать в аски-коде). Естественно, что когда мы этот массив запишем в двумерный, эти "остатки" никуда не пропадут, и допишется в каждую строку в конце. И когда ты начнешь выводить на экран двумерный массив, то у тебя выведутся и эти символы тоже. В общем, я тут в твою программу добавил пару циклов вывода на экран(для контроля). Запустишь - поймешь про что я говорю. И последнее, я бы на твоем месте не стал использовать функцию gets(), т.к. способа ограничить число символов, полученное через эту функцию - нет. Это значит, что в случае очень длинной строки может быть переполнение массива. Есть функция fgets() - у нее синтаксис немного сложнее, но зато таких проблем нет.
0
|
0 / 0 / 0
Регистрация: 28.03.2010
Сообщений: 3
|
||||||
05.04.2010, 20:22 [ТС] | 4 | |||||
Ну а вот при таком коде по идее должно ведь правильно работать?А все равно выводит по мимо слов лишние знаки.
0
|
Maniac
![]() |
||||||
05.04.2010, 20:40 | 5 | |||||
0
|
05.04.2010, 20:40 | |
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь. Функция, получает строку слов и рзделителей, а на выходе имеет массив слов из строки и количество этих слов
По заданной строке получить массив слов, входящих в эту строку. Разделителями слов считаются пробелы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |