0 / 0 / 0
Регистрация: 12.03.2008
Сообщений: 5
|
||||||
1 | ||||||
Что делает функция12.03.2008, 17:08. Показов 4697. Ответов 10
Метки нет Все метки)
(
имеется вот такая функция. Обясние пожалуйста что она делает? что ето за команды которые она использует и как они работают.
В интернете я о них что то мало чего нашел, а если и нашел то не понятно. Может можно как то упростить эту функцию?
0
|
|
12.03.2008, 17:08 | |
Ответы с готовыми решениями:
10
что делает функция? Что делает функция? Что делает функция strcpy(t, f) Что делает функция wsprintf? |
88 / 16 / 5
Регистрация: 10.03.2008
Сообщений: 101
|
|
12.03.2008, 18:41 | 2 |
ну начнем...))
move - функция, которая принимает три параметра типа int, и возвращает тоже int. str_pos - указатель на тип char, который указывает на первое вхождение символа '-' строку s[form] (s - скорее всего глобальный массив указателей на тип char - массив строк), где form - номер строки. Если в строке s[form] не будет находиться символ '-', то функция strchr вернет NULL, следовательно, и str_pos тоже будет равен NULL. Дальше идет проверка. Если str_pos равен NULL, то есть в строке s[form] не обнаружено символа '-', то присвоить первому (то есть нулевому) символу строки s[form] значение NULL (0). Иначе, с помощью функции strcpy, та часть строки s[form], которая идет за первым вхождением символа '-' в эту строку, копируется в строку s[form] (в самое начало строки, тоесть затирая её начало). Идет еще одна проверка. Если первый символ строки s[to] является 0 (NULL), то переменная disk запишется в строку s[to] как целое число без знака. Иначе, содержимое строки s[to] скопируется в строку s[0], и в строку s[to] запишется: переменная disk как целое число без знака, потом дефис и строка s[0]. Ну и в конце значение переменной step увеличится на 1. Ну вот и все)) Правда функция не закончена, нету закрывающейся фигурной скобки в конце.
1
|
0 / 0 / 0
Регистрация: 12.03.2008
Сообщений: 5
|
|
12.03.2008, 19:24 [ТС] | 3 |
пасибо большое! стало немного понятнее. а как нибудь мозно упростить эту функцию?
0
|
88 / 16 / 5
Регистрация: 10.03.2008
Сообщений: 101
|
|
12.03.2008, 19:33 | 4 |
ну вообще правильнее (если я верно понимаю задумку автора функции) писать вместо s[from][0] = 0 такую строку s[from]=NULL;
а так, вообще упростить её нельзя..
0
|
0 / 0 / 0
Регистрация: 12.03.2008
Сообщений: 5
|
|
12.03.2008, 19:35 [ТС] | 5 |
а если сделать аналогичную функцию, только другими коммандами?
0
|
0 / 0 / 0
Регистрация: 12.03.2008
Сообщений: 5
|
|
12.03.2008, 19:39 [ТС] | 6 |
или может аналогов этих комманд больше нету?
0
|
88 / 16 / 5
Регистрация: 10.03.2008
Сообщений: 101
|
||||||
12.03.2008, 19:49 | 7 | |||||
Ну вот щас попробую, просто тут используются функции из библиотеки string,h, такие как strchr, strcpy, и функция sprintf - им замен не будет. Если конечно не написать свои собственные функции)))) Но можно заменить оперетор if else тернарной операцией ?.
0
|
88 / 16 / 5
Регистрация: 10.03.2008
Сообщений: 101
|
||||||
12.03.2008, 19:57 | 8 | |||||
А еще можно вот так вот
0
|
88 / 16 / 5
Регистрация: 10.03.2008
Сообщений: 101
|
||||||
12.03.2008, 20:00 | 9 | |||||
Ну и еще, только я не уверен в правильности работы этой функции можно сдеоать так:
0
|
0 / 0 / 0
Регистрация: 12.03.2008
Сообщений: 5
|
|
12.03.2008, 20:03 [ТС] | 10 |
спасибо большое! вы выручили очень сильно. блин, а то я застопорился на одном месте и все, дальше и не знаю как делать. спасибо еше раз!
0
|
88 / 16 / 5
Регистрация: 10.03.2008
Сообщений: 101
|
|
12.03.2008, 20:07 | 11 |
0
|
12.03.2008, 20:07 | |
12.03.2008, 20:07 | |
Помогаю со студенческими работами здесь
11
Что делает эта функция?
Что делает функция length? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |