Вопрос № 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}
Отвечает: Лучников Юрий Владимирович
Здравствуйте, Стомов Евгений!
Думаю код в приложении удовлетворит ваши потребности;)
Приложение:
Ответ отправил: Лучников Юрий Владимирович (статус: 3-ий класс)
Отправлен: 06.12.2005, 14:25 Оценка за ответ: 2 Комментарий оценки: Извините, но это не то. Мне нужен именно посимвольный ввод (ввел один символ - и программа пошла дальше). Без ожидания ввода Enter'а. И не используя буфер.
Вопрос № 30.822
Уважаемые эксперты, подскажите, как можно организовать быстрый поиск в массиве структур по полю содержащему текстовую (буквенно-цифровую) информацию длиной в 20 символов. Поскольку массив может быть размерностью свыше 1000 элементов, просто перебор элементов и поиск вхождения строуки в подстроку будет не очень эффективен. Может также подскажите какую нибудь ссылку на теорию в этом вопросе.
Отвечает: estiGi
Здравствуйте, Воробьев Дмитрий Владимирович!
Бинарный поиск, оно же двоичное дерево
Ответ отправил: estiGi (статус: 9-ый класс)
Отправлен: 05.12.2005, 13:20
Отвечает: Zitz
Здравствуйте, Воробьев Дмитрий Владимирович!
Ну для начала можно отсортировать массив:
например qsort, а потом bserch и затраты на поиск уменьшаются в разы
на самом деле есть такая штука как #include <algoritm>
Там собственно все и реализовано... И до кучи полно всяких полезных вещей!
Что косается теории то у нас предмет назывался - Алгоритмы и структуры данных...
Но лучше Шилдта почиткай у него прям такой раздел есть алгоритмы, шаблоны...
Ответ отправил: Zitz (статус: 2-ой класс)
Отправлен: 05.12.2005, 13:24 Оценка за ответ: 4
Ответ отправил: RedDevil (статус: 2-ой класс)
Отправлен: 05.12.2005, 21:14
Вопрос № 30.837
Уважаемые эксперты. Нужна ваша помощь в решени вот такой вот задачи:
На левом из трех штырей, находятся диски пирамиды, всего n-дисков. Нужно перенести диски с левого штыря на правый, причем диски должны стоять так как стояли на левом штыре! Разрешается брать только один диск с любого штыря и класть только меньший диск на больший.
Что то я вообще немогу сообразить как ее сделать. Да и не какого общего алгоритма действий в моем мозгу пока что тоже не связывает.
Намекните хотя бы как решать пожалуйста!
Привожу иллюстрациюю штырьков и дисков снизу:
Приложение:
Отправлен: 05.12.2005, 16:13
Вопрос задал: Grubby (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Ответ отправил: 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