Вопрос № 49071: Доброго времени суток, у меня такая здача надо реализировать вот такую штуку :
"Список : Стек, Очередь". на С++ помогите плиз, даже незнаю с чего начать. ...Вопрос № 49084: Здравсвуйте, уважаемые эксперты!
Итак, есть большое число типа int64. Нужно его как-то округлить до заданного числа знаков от начала.
То есть, напрмиер есть:
163839134670
задано число знаков 3. Значит, надо получить 164. Без испо...Вопрос № 49113: Нужна консольная программа, которая выдает квадрат состоящий из нулей и единиц.
Ввод: сторона квадрата.
По диагонали должны быть единицы, ниже нули а сверху единицы.
Например для числа 4.
1111
0111
0011
0001
...Вопрос № 49149: Привет!
Подскажите пожалуйста, как минимизировати диалог при эго создании.
Дело в том что при запуске проги вместе с виндой, должена только быть создана
иконка в трейе. Для того чтоб программа знала нужно ли показывать диалог использую ар...
Вопрос № 49.071
Доброго времени суток, у меня такая здача надо реализировать вот такую штуку :
"Список : Стек, Очередь". на С++ помогите плиз, даже незнаю с чего начать.
Отвечает: Sling
Здравствуйте, Тарасяк, Назар, Богданович / nazarini!
Тут многое зависит от того, с какой целью это надо реализовать и какие условия. Если заранее известно максимальное количество элементов в стеке/очереди то задача доволько простая и реализуется с помощью класса, содержащего массив заданной длины и осуществляющего добавление, извлечение элементов и проверки на выход за границы массива. (см. приложение)
Если же максимальное количество элементов не задано, тут нужно использовать указатели и задача несколько усложняется, хотя и не намного.
Также стек элементарно реализуется с помощью класса vector. Не знаю точно, с какой версии с++ он появился но в Visual C++ 6.0 он точно есть.
Приложение:
--------- The fear of blood tends to create fear for the flesh
Ответ отправил: Sling (статус: 1-ый класс)
Ответ отправлен: 14.07.2006, 02:32 Оценка за ответ: 5
Отвечает: SergeyMAC
Здравствуйте, Тарасяк, Назар, Богданович / nazarini!
Если мне не изменяет память, то все это с примерами было подробненько разобрано у Е. Романова, посмотрите на эту ссылку http://docs.h1.ru/ci.html , здесь можно скачать романовскую книжку.
Удачи...
--------- броня крепка, и танки наши быстры
Ответ отправил: SergeyMAC (статус: 6-ой класс)
Ответ отправлен: 14.07.2006, 08:15 Оценка за ответ: 4
Вопрос № 49.084
Здравсвуйте, уважаемые эксперты!
Итак, есть большое число типа int64. Нужно его как-то округлить до заданного числа знаков от начала.
То есть, напрмиер есть:
163839134670
задано число знаков 3. Значит, надо получить 164. Без использования библиотечных функций Си и естественно без плясок с float'ом.
(К сожалению ассемблера не знаю, возможно там решение этой задачи было бы более красивым.)
Что порекомендуете?
Смотрите пример в приложении. Проверить нет времени, так что возможны опечатки. Но, думаю, идея понятна. В принципе, алгоритм можно чуть ускорить, будет нужно - пишите.
Приложение:
Ответ отправил: Physicist (статус: 5-ый класс)
Ответ отправлен: 14.07.2006, 07:50 Оценка за ответ: 5 Комментарий оценки: да, понятно. просто думал, вдруг можно как-то через внутреннее представление числа. спасибо.
Отвечает: Sling
Здравствуйте, Белкин Алексей!
Проблема решается довольно просто - код в приложении
Приложение:
--------- The fear of blood tends to create fear for the flesh
Ответ отправил: Sling (статус: 1-ый класс)
Ответ отправлен: 14.07.2006, 09:00 Оценка за ответ: 5 Комментарий оценки: все ясно. спасибо.
Вопрос № 49.113
Нужна консольная программа, которая выдает квадрат состоящий из нулей и единиц.
Ввод: сторона квадрата.
По диагонали должны быть единицы, ниже нули а сверху единицы.
Например для числа 4.
1111
0111
0011
0001
Приложение:
Отправлен: 14.07.2006, 12:37
Вопрос задал: АВС (статус: Посетитель)
Всего ответов: 4 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: gitter
Здравствуйте, АВС!
Попробуйте следующим образом:
void main()
{
Print(": ");
int n;
std::cin >> n;
Ответ отправил: gitter (статус: Студент)
Ответ отправлен: 14.07.2006, 12:45
Отвечает: Physicist
Здравствуйте, АВС!
Всё "почти" правильно, нужно только поменять местами 0 и 1, добавить вывод каждого элемента матрицы и правильно обращаться к элементам матрицы. См. приложение.
Приложение:
Ответ отправил: Physicist (статус: 5-ый класс)
Ответ отправлен: 14.07.2006, 12:55
Отвечает: Sling
Здравствуйте, АВС!
Если я правильно понял, то прога элементарная. (см. приложение)
Пишу так, как это выглядело бы в консоли для Visual C++ 6.0
Приложение:
--------- The fear of blood tends to create fear for the flesh
Ответ отправил: Sling (статус: 1-ый класс)
Ответ отправлен: 14.07.2006, 13:25
Отвечает: SergeyMAC
Здравствуйте, АВС!
Не совсем понял что там у вас в приложении (не дочитал), но может это вам поможет
См. приложение
Удачи....
Приложение:
--------- броня крепка, и танки наши быстры
Ответ отправил: SergeyMAC (статус: 6-ой класс)
Ответ отправлен: 14.07.2006, 13:41
Вопрос № 49.149
Привет!
Подскажите пожалуйста, как минимизировати диалог при эго создании.
Дело в том что при запуске проги вместе с виндой, должена только быть создана
иконка в трейе. Для того чтоб программа знала нужно ли показывать диалог использую аргумент командной строки. Делаю следующее. В класе приложения(CWinApp) проверяю встановлен ли параметр ком. строки, тогда в класе диалога присваиваю значение переменной start_minimized. В OnInitDialog() делаю следующее:
if(start_minimized) {
ShowWindow(SW_HIDE);
AddTrayIcoN();
}
Но почему-то диалог все-таки отображаеться. В чем дело?
ЗЫ: А вот ShowWindow(SW_SHOWMINIMIZED); работает...
Отправлен: 14.07.2006, 20:22
Вопрос задал: X3m (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Решетник Д
Здравствуйте, X3m!
Для реализации ьакой функции нужно не напрямую скрывать окно.
При старте программы нужно МИНИМИЗИРОВАТЬ программу, а в обработчике минимизации скрывать и добавлять трэй-иконку.
if(start_minimized) {
SendMessage(WM_SYSCOMMAND, SC_MINIMIZE, 0);
}
Соответственно в каком-нить
OnMinimize()
{
AddTrayIcoN();
}
--------- Жизнь коротка, чтобы писать на ассемблере
Ответ отправил: Решетник Д (статус: 10-ый класс)
Ответ отправлен: 14.07.2006, 20:32
Отвечает: Physicist
Здравствуйте, X3m!
Нашел в MSDN про параметр функции ShowWindow:
This parameter is ignored the first time an application calls ShowWindow, if the program that launched the application provides a STARTUPINFO structure.
Не знаю, относится это к Вашему случаю или нет, но попробуйте вызвать ShowWindow дважды (чтобы было наверняка, можно сделать первый вызов с SW_SHOWMINIMIZED, а второй с SW_HIDE). Надеюсь, поможет...
Ответ отправил: Physicist (статус: 5-ый класс)
Ответ отправлен: 14.07.2006, 20:37