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

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


Информационный Канал Subscribe.Ru

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

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

Выпуск № 266
от 10.12.2005, 21:21

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


Вопрос № 30807: Здравствуйте, уважаемые эксперты! Подскажите аналог паскалевских функций: 1) keypressed - проверка: нажата-ли в данный момент (очень маленький момент) какая-либо клавиша; 2) readkey - ожидание ввода какой-либо Одной клавиши. В ит...
Вопрос № 30822: Уважаемые эксперты, подскажите, как можно организовать быстрый поиск в массиве структур по полю содержащему текстовую (буквенно-цифровую) информацию длиной в 20 символов. Поскольку массив может быть размерностью свыше 1000 элементов, просто перебор э...
Вопрос № 30837: Уважаемые эксперты. Нужна ваша помощь в решени вот такой вот задачи: На левом из трех штырей, находятся диски пирамиды, всего n-дисков. Нужно перенести диски с левого штыря на правый, причем диски должны стоять так как стояли на левом штыре! Ра...
Вопрос № 30838: Уважаемые эксперты, помогите пожалуйста решить следующую задачу: На левом из трех штырей, находятся диски пирамиды, всего n-дисков. Нужно перенести диски с левого штыря на правый используя для этого средний штырь, причем в конце диски должны ст...
Вопрос № 30849: Здравствуйте рыцари клавиатуры! =) Нужна срочно ваша помощь! Нужно помочь с небольшой прогой, а именно: нужно ввести символы, загнать их в линейный односвязный список и поменять местами первый и последний элемент списка. Заранее благодарен за...

Вопрос № 30.807
Здравствуйте, уважаемые эксперты!
Подскажите аналог паскалевских функций:
1) keypressed - проверка: нажата-ли в данный момент (очень маленький момент) какая-либо клавиша;
2) readkey - ожидание ввода какой-либо Одной клавиши.

В итоге должно получиться что-то похожее:

c: char; {с - символ}
if keypressed then {если нажата клавиша, то}
c := readkey; {присвоить этот символ переменной c}

А еще функция очистки буфера, plz.
Отправлен: 05.12.2005, 08:49
Вопрос задал: Стомов Евгений (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Лучников Юрий Владимирович
Здравствуйте, Стомов Евгений!

Думаю код в приложении удовлетворит ваши потребности;)

Приложение:

Ответ отправил: Лучников Юрий Владимирович (статус: 3-ий класс)
Отправлен: 06.12.2005, 14:25
Оценка за ответ: 2
Комментарий оценки:
Извините, но это не то.
Мне нужен именно посимвольный ввод (ввел один символ - и программа пошла дальше).
Без ожидания ввода Enter'а.
И не используя буфер.


Вопрос № 30.822
Уважаемые эксперты, подскажите, как можно организовать быстрый поиск в массиве структур по полю содержащему текстовую (буквенно-цифровую) информацию длиной в 20 символов. Поскольку массив может быть размерностью свыше 1000 элементов, просто перебор элементов и поиск вхождения строуки в подстроку будет не очень эффективен. Может также подскажите какую нибудь ссылку на теорию в этом вопросе.
Отправлен: 05.12.2005, 12:44
Вопрос задал: Воробьев Дмитрий Владимирович (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: estiGi
Здравствуйте, Воробьев Дмитрий Владимирович!
Бинарный поиск, оно же двоичное дерево
Ответ отправил: estiGi (статус: 9-ый класс)
Отправлен: 05.12.2005, 13:20

Отвечает: Zitz
Здравствуйте, Воробьев Дмитрий Владимирович!

Ну для начала можно отсортировать массив:
например qsort, а потом bserch и затраты на поиск уменьшаются в разы
на самом деле есть такая штука как #include <algoritm>
Там собственно все и реализовано... И до кучи полно всяких полезных вещей!
Что косается теории то у нас предмет назывался - Алгоритмы и структуры данных...
Но лучше Шилдта почиткай у него прям такой раздел есть алгоритмы, шаблоны...
Ответ отправил: Zitz (статус: 2-ой класс)
Отправлен: 05.12.2005, 13:24
Оценка за ответ: 4

Отвечает: RedDevil
Здравствуйте, Воробьев Дмитрий Владимирович!
Ищи в сети:
Алгоритм Кнута - Морриса - Пратта
Алгоритм Бойера - Мура
Алгоритм Рабина
Ответ отправил: RedDevil (статус: 2-ой класс)
Отправлен: 05.12.2005, 21:14


Вопрос № 30.837
Уважаемые эксперты. Нужна ваша помощь в решени вот такой вот задачи:
На левом из трех штырей, находятся диски пирамиды, всего n-дисков. Нужно перенести диски с левого штыря на правый, причем диски должны стоять так как стояли на левом штыре! Разрешается брать только один диск с любого штыря и класть только меньший диск на больший.
Что то я вообще немогу сообразить как ее сделать. Да и не какого общего алгоритма действий в моем мозгу пока что тоже не связывает.
Намекните хотя бы как решать пожалуйста!
Привожу иллюстрациюю штырьков и дисков снизу:

Приложение:

Отправлен: 05.12.2005, 16:13
Вопрос задал: Grubby (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: RedDevil
Здравствуйте, Grubby!
Ищи в сети:
Алгоритм Кнута - Морриса - Пратта
Алгоритм Бойера - Мура
Алгоритм Рабина
Ответ отправил: RedDevil (статус: 2-ой класс)
Отправлен: 05.12.2005, 21:12
Оценка за ответ: 5
Комментарий оценки:
Огромное спасибо, теперь я во всем разобрался


Вопрос № 30.838
Уважаемые эксперты, помогите пожалуйста решить следующую задачу:
На левом из трех штырей, находятся диски пирамиды, всего n-дисков. Нужно перенести диски с левого штыря на правый используя для этого средний штырь, причем в конце диски должны стоять так как стояли на левом штыре! За один шаг разрешается брать только один диск с любого штыря и класть только меньший диск на больший. (эти диски можно сравнить с матрешками, например в маленькую матрешку невозможно запехнуть большую, так и тут на большой диск можно ложить только меньший диск)
Ну или хотя бы подскажите алгоритм решения оной, а то мне что то ничего вразумительного в голову не приходит.
Отправлен: 05.12.2005, 16:24
Вопрос задал: Grubby (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: PROD
Здравствуйте, Grubby!
эта игра называется "Ханойская башня". можешь поискать ее исходники в инете, половина программистов ее решала когда училась этому делу.
у меня сейчас нет времени (у меня его никогда нет) чтоб искать исходник на Си, но на Байсике (понимаю старо, просто эта программка у меня в очень старой книжке описана) это выглядит примерно так (приложение).
Возможно на сайте еще есть спецы старой школы которые помогут перевести код на СИ

Приложение:

Ответ отправил: PROD (статус: 1-ый класс)
Отправлен: 05.12.2005, 17:11


Вопрос № 30.849
Здравствуйте рыцари клавиатуры! =)
Нужна срочно ваша помощь! Нужно помочь с небольшой прогой, а именно: нужно ввести символы, загнать их в линейный односвязный список и поменять местами первый и последний элемент списка.
Заранее благодарен за помощь...!
Отправлен: 05.12.2005, 19:45
Вопрос задал: Игорь (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Zitz
Здравствуйте, Игорь!

Если это для учебы, то заставят все ручками делать... :(
А вообще это полезно...

Приложение:

Ответ отправил: Zitz (статус: 2-ой класс)
Отправлен: 05.12.2005, 20:59


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

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

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

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

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


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


© 2001-2005, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Яндекс Rambler's Top100 hotlog_js="1.0"; hotlog_r=""+Math.random()+"&s=314124&im=101&r="+escape(document.referrer)+"&pg="+ escape(window.location.href); document.cookie="hotlog=1; path=/"; hotlog_r+="&c="+(document.cookie?"Y":"N"); hotlog_js="1.1";hotlog_r+="&j="+(navigator.javaEnabled()?"Y":"N") hotlog_js="1.2"; hotlog_r+="&wh="+screen.width+'x'+screen.height+"&px="+ (((navigator.appName.substring(0,3)=="Mic"))? screen.colorDepth:screen.pixelDepth) hotlog_js="1.3" hotlog_r+="&js="+hotlog_js; document.write("HotLog")

Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.cplus
Архив рассылки
Отписаться
Вспомнить пароль

В избранное