LILIE
|
|
1 | |
функция с указателем14.11.2012, 12:55. Показов 5976. Ответов 10
Метки нет (Все метки)
насколько я поняла, то нужно с помощью функции(при этом используя указатели) написать код, который заменяет строчные буквы на заглавные
перевод задания особо не поняла, если что, то вот: Write a function that will find and return most recent word in the given text. The prototype of the function have to be the following void mostRecent(char *text,char *word) In char *word your function hav.e to return the most recent word that occurce in the text. Your program have to be not case-sensitive(ignore case - "Can" and "CAN" are the same words) Also note than WORD is sequence of letters sepereated by whitespace |
14.11.2012, 12:55 | |
Ответы с готовыми решениями:
10
функция с указателем Функция с указателем на void** не получается вернуть данные? Передача параметров в функцию по указателю. Функция с указателем Указатели на функцию. Задача 2: функция предикат с void указателем |
54 / 54 / 10
Регистрация: 26.09.2011
Сообщений: 186
|
||||||
14.11.2012, 13:07 | 2 | |||||
Написать функцию, которая будет искать и возвращать "most recent" слово в заданном тексте. Прототип функции должен быть следующим:
Как я понял, то здесь не нужно заменять строчные буквы на заглавные. Нужно возвратить какое-то слово. Не могу понять, что подразумевают под most recent
0
|
Комп_Оратор)
|
|
14.11.2012, 13:10 | 3 |
Вкратце вроде так: написать функцию принимающую С-строку через первый параметр и возвращающую наиболее часто встреченное в ней слово во второй параметр, тоже в С-строку (через указатель на char).
Прототип: void mostRecent(char *text, char *word);
0
|
24 / 22 / 5
Регистрация: 13.11.2012
Сообщений: 49
|
|
14.11.2012, 13:11 | 4 |
совсем не правильно поняла, тут написано, что программа должна быть нечувствительна к регистру, т.е. слова Can и CAN для нее должны считаться одинаковыми словами. А вообще она должна возвращать слово из всего текста
0
|
54 / 54 / 10
Регистрация: 26.09.2011
Сообщений: 186
|
|
14.11.2012, 13:47 | 6 |
0
|
24 / 22 / 5
Регистрация: 13.11.2012
Сообщений: 49
|
|
14.11.2012, 15:21 | 7 |
он у меня родной
подумаешь "последнее" пропустил, ну и да не само слово возвращать, а указатель на него (тут виноват)
0
|
denys_l
|
14.11.2012, 15:25
#8
|
Не по теме: в принципе, можно было по прототипу догадаться, какое слово возвращать...
0
|
Комп_Оратор)
|
|
14.11.2012, 16:21 | 9 |
Верно, resent, действительно последний. Спасибо. Что касается типа возврата, то делается же он в процедурном С-стиле. То есть строго говоря функция не имеет типа возврата или др. сл., имеет тип void. Второй параметр - указатель на чар и ему присваивается результат, так что с этим всё верно.
0
|
14.11.2012, 16:27 | 10 |
Я тут задумался и понял, что был не прав насчёт "указатель на позицию последнего слова в тексте". Если мы в функции мы найдём, что посл.слово начинается с 7го символа, то согласно моему ответу должны будем сделать word=text+7; и выйти из функции. Но это не верно, т.к. значение переданного аргумента не изменится после выхода из функции. Нужно именно что возвращать копию последнего слова в тексте делать strncpy(word, text+7, n); и выйти из функции.
1
|
Комп_Оратор)
|
|||||||||||||||||||||
14.11.2012, 20:33 | 11 | ||||||||||||||||||||
Думаю можно выяснить длину (*text) потом установить word на конец text пройти цикл while декрементируя word пока не встретим "непробел" и потом еще один цикл пока не встретим пробел. Инкриментируем до break и в этом случае. И всё. И в обоих случаях совмещаем проверку с проверкой на валидность (вдруг строка из пробелов или одного слова)
Добавлено через 2 часа 3 минуты Строго прототипу не получается. Просто решается если передать указатель на указатель.
Добавлено через 1 час 26 минут Вот так в соответствии с прототипом. Прав Kuzia domovenok копию и нужно присвоить.
Думаю можно выяснить длину (*text) потом установить word на конец text пройти цикл while декрементируя word пока не встретим "непробел" и потом еще один цикл пока не встретим пробел. Инкриментируем до break и в этом случае. И всё. И в обоих случаях совмещаем проверку с проверкой на валидность (вдруг строка из пробелов или одного слова) Добавлено через 2 часа 3 минуты Строго прототипу не получается. Просто решается если передать указатель на указатель.
Добавлено через 1 час 26 минут Вот так в соответствии с прототипом. Прав Kuzia domovenok копию и нужно присвоить.
0
|
14.11.2012, 20:33 | |
14.11.2012, 20:33 | |
Помогаю со студенческими работами здесь
11
В чем разница между указателем и указателем на указатель? Функция с указателем и индексом(Удаляет в строке лидирующие пробелы. Возвращает указатель на преобразованную строку.) Функция с указателем не работает Получить определенные поля класса, работая с указателем на класс, как с указателем на массив Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |