![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
FreeJaile |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 28.2.2008 Репутация: нет Всего: нет |
Здраствуйте. Мне нужно задать набор слов, построить любую цепочку из них так, чтобы последняя буква одного слова совпадала с первой буквой последующего(этого ещё не делала, поэтому функцию cheking просто как пример работы с этим массивом поместила). Задаю массив. И как я поняла из всего прочитанного, работать с этим массивом я могу только через указатель... но что-то запуталась(
вот в этой строчке : "if (strncmp (p[i], p[i+1], 1) == 0)" выдает ошибку 'strncmp' : cannot convert parameter 1 from 'char' to 'const char *'
Это сообщение отредактировал(а) MAKCim - 1.3.2008, 10:06 |
|||
|
||||
Christoph |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 667 Регистрация: 23.1.2008 Где: Харьков Репутация: нет Всего: 11 |
Ошибка пишет то что нельзя конвертировать параметры, мне кажется ты при описании функции указала char* p тоесть будет передавать не массив а одна строка!
-------------------- ![]() |
|||
|
||||
FreeJaile |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 28.2.2008 Репутация: нет Всего: нет |
да..точно (я проверяла криво, в цикл вывод р записала) но так и не поняла как передать массив в функцию =( подскажите, плз Это сообщение отредактировал(а) FreeJaile - 29.2.2008, 23:08 |
|||
|
||||
prof_GCC |
|
|||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 21.2.2008 Репутация: нет Всего: нет |
Все предельно просто, массивы в функции передаются через указатели, поэтому, если у тебя строка, то она указывает на массив символов, т.е. в функцию ты передаешь либо char**, поэтому в функцию сравнения можно смело передовать твою переменную word как только прототип функции станет checking(char**). Крогме того strncmp (p[i], p[i+1], 1) == 0 не соответствует тому, что тебе нужно, ты сравниваешь первые символы строки ![]() |
|||
|
||||
MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 2 Всего: 207 |
вообще говоря, здесь должна быть ошибка Access Violation/Segmentation Fault т. к char (1 байт) знаково преобразуется к указателю (4 байта или 8 байт) -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
prof_GCC |
|
|||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 21.2.2008 Репутация: нет Всего: нет |
Нет, я имел ввиду после изменения прототипа на checking(char**) и передачи в функцию переменной word
|
|||
|
||||
FreeJaile |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 28.2.2008 Репутация: нет Всего: нет |
мне нужно эту задачу оказывается списком делать((
как в списке сравнить последнюю букву рассматриваемого слова с первой буквой следующего? использую структуру
подсчитываю длину слова так:
просьба модераторам переименовать тему в..например просто "набор слов" (ну или на усмотрение модератора соответственно) Это сообщение отредактировал(а) FreeJaile - 19.3.2008, 17:47 |
||||
|
|||||
klaq |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 28.3.2008 Репутация: нет Всего: нет |
Есть вопрос, коль уж тема по работе с набором слов.
Взаимодействие клиент-сервер по протоколу UDP, клиент посылает на сервер набор слов, тот возвращает количество одинаковых слов. С клиентами и серверами разобрался, а вот со словами похуже, вроде как понимаю, что надо было-бы строку расчленить на слова, их записать в массив и поискать, но вот с реализацией пока никак, подсобите, плиз! |
|||
|
||||
Rififi |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1254 Регистрация: 9.3.2008 Репутация: 3 Всего: 36 |
в простейшем случае - функция из стандартной си-библиотеки strtok (есть свои особенности, например strtok не является потоко-безопасной) или можно boost заюзать:
|
|||
|
||||
klaq |
|
||||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 28.3.2008 Репутация: нет Всего: нет |
Я сделал немного по-другому (входная строка - z) порезал ее на слова и забил их в массив:
В Си я пока зеленейший новичок, так VB малость, да 1С, так что строго не судите. Теперь вот вторая проблема, как забить в массиве сравнение. Я пошел простейшим путем)):
Но почему-то сравнение y[p]==y[m] не работает. В чем тут может быть дело? |
||||
|
|||||
MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 2 Всего: 207 |
klaq,
strcmp()/strncmp() -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
MAKCim |
|
||||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 2 Всего: 207 |
я бы сделал так
Это сообщение отредактировал(а) MAKCim - 29.3.2008, 13:07 -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
||||
|
|||||
klaq |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 28.3.2008 Репутация: нет Всего: нет |
MAKCim,
Большое спасибо! Мой вопрос - это задание из обычной лабы по "Комп. сетям" и я без лишних мудрствований сделал через массив и strcmp, жестко ограничив длину строки и размер массива. Для жизни, конечно, непригодно ![]() |
|||
|
||||
FreeJaile |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 28.2.2008 Репутация: нет Всего: нет |
вот на этом месте вылетает на выполнении (т.е. не выводит массив)
подскажите, плз, в чем ошибка... |
||||
|
|||||
Dmi3ev |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1698 Регистрация: 28.11.2007 Репутация: 13 Всего: 41 |
на первый взгляд
-------------------- |
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |