|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
29.02.2008, 20:49 | #1 |
Регистрация: 29.02.2008
Сообщений: 7
|
c\c++ массив слов
Здраствуйте. Мне нужно задать набор слов, построить любую цепочку из них так, чтобы последняя буква одного слова совпадала с первой буквой последующего(над заданием я ещё не работала, поэтому ф-ция cheking только для примера приведена). Задаю массив. И как я поняла из всего прочитанного мною, работать с этим массивом я могу только через указатель... но что-то запуталась( помогите, плз, разобраться.
вот в этой строчке : "if (strncmp (p[i], p[i+1], 1) == 0)" выдает ошибку 'strncmp' : cannot convert parameter 1 from 'char' to 'const char *' Код:
Последний раз редактировалось merax; 05.03.2008 в 21:52. |
29.02.2008, 23:02 | #2 |
Регистрация: 28.02.2008
Сообщений: 8
|
Зачем использовать strncmp? она сравнивает строки полностью и возвращает ответ о том, что строки одинаковы.
Вот пример как лучше сделать. Код:
|
29.02.2008, 23:22 | #3 | ||
Регистрация: 29.02.2008
Сообщений: 7
|
Цитата:
Цитата:
но как бы даже не в этом дело...мне не удается корректно передать массив в функцию (задание на рекурсию, поэтому без этого никак) |
||
29.02.2008, 23:45 | #4 | |
Регистрация: 28.02.2008
Сообщений: 8
|
Цитата:
Код:
Последний раз редактировалось merax; 05.03.2008 в 21:52. |
|
29.02.2008, 23:55 | #5 |
Регистрация: 29.02.2008
Сообщений: 7
|
ой..точно!)) спасибо ^^
|
04.03.2008, 23:51 | #6 |
Регистрация: 29.02.2008
Сообщений: 7
|
Повторений больше нет...
Код:
|
03.04.2008, 23:26 | #7 |
Регистрация: 29.02.2008
Сообщений: 7
|
Код:
Код:
|
04.04.2008, 00:39 | #8 |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
Ошибок много...
1) Хотя это и не оказало влияния, всё-таки функция main определена наоборот: main(int, char**); или более привычно: main(int argc, char* argv[], char* envp[]);. Прототип для main не обязателен - сама себя она "видит", а её вызывать никто не будет. 2) в строке "array = new char *[n]; " выделяется память под массив указателей, но при этом память под сами строки не выделяется. 3) В строке "scanf (" %s", &array[i]); " нужно передавать не адрес элемента массива, а то, что в этом элементе должно находиться - адрес буфера для новой строки, который нужно было выделить ранее ( п.2) ). 4) Неясно, зачем определена глобальная "char **array;" и какая из них предполагалась для использования, в общем - путаница. Ну и, само собой, память по п.2) нужно будет освободить, что делает функция chain() осталось неизвестным и кое-какие косметические вещи вроде лишних переводов строки. Т.е. примерно это можно написать так: Код:
Последний раз редактировалось B_N; 04.04.2008 в 00:50. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Дана строка, состоящая из нескольких слов. Найти количество слов, которые содержат хотя бы одну букву "А" | Mashaa | Помощь студентам | 13 | 09.12.2009 13:28 |
Подсчет слов | Stanislav | Общие вопросы Delphi | 11 | 28.08.2008 10:37 |
Вставка слов | )Игнат( | Общие вопросы Delphi | 1 | 16.03.2008 21:58 |
Сортировка слов по алфавиту | victorio | Microsoft Office Word | 7 | 15.12.2007 19:03 |