Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на C / C++


Новое направление Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / C/C++

Выпуск № 1016
от 06.03.2008, 10:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 478, Экспертов: 50
В номере:Вопросов: 3, Ответов: 5

Нам важно Ваше мнение об этой рассылке.
Оценить этот выпуск рассылки >>


Вопрос № 125411: Уважаемые эксперты, помогите пожалуйста решить задачки 1. написать и протестировать рекурсивнуюфункцию REVERSE(str),которая переворачивает данную строку на том же самом месте. Сравнить время ее работы и время работы нерекурсивной версии. <br...
Вопрос № 125483: Помагите дописать код. вот сам вопрос: Дана последовательность действительных чисел a1, a2, . . . , an ( n >= 2 и заранее неизвестно). Если последовательность упорядочена по неубыванию, то оставить ее без изменения, иначе получить послед...
Вопрос № 125497: Здравствуйте уважаемые эксперты. Помогите разобраться с программой, верней с функцией печатающий массив. Никак не могу понять как она работает. Заранее благодарю).. ...

Вопрос № 125.411
Уважаемые эксперты, помогите пожалуйста решить задачки
1. написать и протестировать рекурсивнуюфункцию REVERSE(str),которая переворачивает данную строку на том же самом месте. Сравнить время ее работы и время работы нерекурсивной версии.

2.написать и протестировать функцию, которая преобразует строку двоичных цифр в эквивалентное ей целое десятичное число.

ЧЕРЕЗ VISUAL STUDIO....
заранее большущее пасибо!!!!
Отправлен: 29.02.2008, 12:48
Вопрос задал: Дебелов Владимир Валентинович (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Сандров Алекс
Здравствуйте, Дебелов Владимир Валентинович!

В приложении программа.

Я хотел сделать рекурсивную по-проще, поэтому она запрашивает ещё длинну строки.

Нерекурсивную взял обычную.

Увы, обе у меня работали 0 мсек :)

--------------------------------------

Вторая задачка там же, сделал через рекурсивную функцию тоже. Всё что не "1" считается нулём.

Приложение:

Ответ отправил: Сандров Алекс (статус: 5-ый класс)
Ответ отправлен: 29.02.2008, 13:49
Оценка за ответ: 5
Комментарий оценки:
Огромное спасибо, я не спец в c++ но програмка нормально работает и меня это очень радует =)) у нас лекции небыло вот я и застрял с ними. ещё раз СПАСИБО =))

Отвечает: shayen
Здравствуйте, Дебелов Владимир Валентинович!
Решение второй задачи находится в приложении, компилировался в VS 2003

Приложение:

Ответ отправил: shayen (статус: 4-ый класс)
Ответ отправлен: 29.02.2008, 21:19
Оценка за ответ: 5
Комментарий оценки:
и вам тоже огромное спасибо!!! осталось только разобраться что и как работает=) меня ещё ждёт гора теории по этой теме =( но одно радует что программка классно работает =)


Вопрос № 125.483
Помагите дописать код.
вот сам вопрос: Дана последовательность действительных чисел a1, a2, . . . , an ( n >= 2 и
заранее неизвестно). Если последовательность упорядочена по неубыванию, то оставить ее без изменения, иначе получить последовательность an , an-1 , . . . , a1(т.е. в обратном порядке)

Приложение:

Отправлен: 29.02.2008, 20:35
Вопрос задал: Костян (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Denisss

Здравствуйте, Костян!

Пример находится в приложении.

В примере добавлено 5 функций:
- void printList(elem *head) - печатает на экран последовательность (список);
- bool checkGrowth(elem *head) - возвращает true, если список неубывающий;
- elem * reverseList(elem *head) - возвращает список в обратном порядке;
- void releaseList(elem *head) - освобождает память (удаляет список);
- void saveListToFile(elem *head) - сохраняет список в файл "prog1.txt".

Удачи!

Приложение:

---------
Будь осторожен, когда молишься ради чего-то, потому что можешь это получить...

Ответ отправил: Denisss (статус: Профессионал)
Россия, Москва
ICQ: 281599577
----
Ответ отправлен: 02.03.2008, 00:19


Вопрос № 125.497
Здравствуйте уважаемые эксперты.
Помогите разобраться с программой, верней с функцией печатающий массив.
Никак не могу понять как она работает.
Заранее благодарю)..

Приложение:

Отправлен: 29.02.2008, 23:31
Вопрос задал: Александр Кузнецов (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Zloi_goh
Здравствуйте, Александр Кузнецов! Попробую объяснить.
someFunction работает следующим образом:

Вначале проверяется не равно ли size 0, если нет функция вызывает саму себя. При этом в качестве аргументов передается сдвинутый на одну позицию указатель b и уменьшенный на 1 size. Управление переходит вначало функции. Снова проверка size на равенство нулю и т.д. Таким образом создается цепочка вызовов функции.
При последнем вызове указатель b указывает на последний эллемент массива. Дальше самое интересное. Вызовы начнут по очереди возвращать управление на строку:
cout<< b[0] << " " ;
При этом b будет указывать каждый раз на предидущий эллемент массива, по принципу стека - первый вошел последний вышел. Следовательно массив будет выводится в обратном порядке.
Уф... Чесное слово это легче понять чем объяснить.

---------
Лучше идти чем бежать, лучше стоять чем идти, лучше сидеть чем стоять, лучше лежать чем сидеть, лучше умереть чем лежать.
Ответ отправил: Zloi_goh (статус: 1-ый класс)
Ответ отправлен: 01.03.2008, 00:48
Оценка за ответ: 5

Отвечает: shayen
Здравствуйте, Александр Кузнецов!
В данном случае вы имеете дело с рекурсией, то есть вызов функции из самой себя. Функция someFunction будет вызывать себя, постоянно уменьшая на единицу значение аргумента size, этот этап рекурсии называется углублением. Процесс продолжается до тех пор, пока аргумент size при очередном вызове не станет равен 0. С этого момента начинается обратная стадия рекурсии - подъём. Функция возвращает значение сначала последнего элемента массива потом предпоследнего и т.д. до тех пор пока значение параметра size не станет равно arraySize (в вашем случае)
Ответ отправил: shayen (статус: 4-ый класс)
Ответ отправлен: 01.03.2008, 23:22


Вы имеете возможность оценить этот выпуск рассылки.
Нам очень важно Ваше мнение!
Оценить этот выпуск рассылки >>

Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2008, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.72.1 от 04.03.2008
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное