Вопрос № 129452: Дорогие эксперты помогите составить програму на Visual c++ 6.0
в одноменом массиве, сщстоящем из n вещественных элементов, вычислить:
1)номер минимального элемента массива;
2)сумму элементов массива, расположенных между первым и вторым о...Вопрос № 129459: здравствуйте эксперты!
после перехвата сообщения WM_DEVICECHANGE при подкл USB-клавы приходит 12 сообщений, а при отк 6; и не DBT_DEVICEARRIVAL и DBT_DEVICEREMOVECOMPLETE, как я думал. по структуре сообщения {msg=0x00000219 wp=0x00000007 lp=0x000...Вопрос № 129544: Уважаемые эксперты помогите пожайлуста решить следующую задачу на C++
Описать структуру с именем TRAIN, содержащую следующие поля:
1)названое пункта назначения;
2)номер поезда;
3время отправления.
написать программу выполняющую с...Вопрос № 129553: Здравствуйте! У меня проблема: установил Microsoft Visual Studio 2008 team suite
(team suite дополнительные компоненты не устанавливал), запустил Microsoft
Visual Studio, выбрал General development settings, открыл прогу, которую раньше писа...
Вопрос № 129.452
Дорогие эксперты помогите составить програму на Visual c++ 6.0
в одноменом массиве, сщстоящем из n вещественных элементов, вычислить:
1)номер минимального элемента массива;
2)сумму элементов массива, расположенных между первым и вторым отрицательными элементами
3)преобразовать массив таким образом, чтобы сначала распологались все элементы, модуль которых не привышает 1, а потом - все остальные.
P.S- желательно поскорей
Отвечает: Verena
Здравствуйте, Латуринский Сергей Дмитриевич!
В решении первой задачи у Вас ошибка - Вы всегда сравниваете только соседние элементы массива, а нужно сравнивать в цикле текущий элемент с минимальным из предыдущих (т.е. a[i] и a[min]). Во второй задаче всё просто - заводим флаг, который выставим, когда появится первый отрицательный элемент и сбросим, когда встретится второй. Пока флаг будет равен true мы будем считать сумму, когда он станет равен false - выйдем из цикла. Если мы пройдём по всему массиву, но не встетим второй отрицательный элемент, то сможем
сообщить об этом по состоянию флага (он будет равен true). По-хорошему нужно ещё бы проверить, встретился ли вообще отрицательный элемент (у меня такой проверки нет и сумма просто будет нулевой). В третьей задаче можно, например, поступить так: все элементы, по модулю большие 1, переместим в конец массива. Решение в приложении, думаю, всё будет ясно из комментариев.
Удачи!
Приложение:
--------- Эта история - не для истории, понимаешь?
Ответ отправила: Verena (статус: Практикант)
Ответ отправлен: 28.03.2008, 18:50 Оценка за ответ: 5 Комментарий оценки: Спасибо ограмное!!! Оченьблагодарен
Вопрос № 129.459
здравствуйте эксперты!
после перехвата сообщения WM_DEVICECHANGE при подкл USB-клавы приходит 12 сообщений, а при отк 6; и не DBT_DEVICEARRIVAL и DBT_DEVICEREMOVECOMPLETE, как я думал. по структуре сообщения {msg=0x00000219 wp=0x00000007 lp=0x00000000} это похоже на (из dbt.h):
#define DBT_APPYBEGIN 0x0000
#define DBT_APPYEND 0x0001
/*
* Message = WM_DEVICECHANGE // 0x00000219
* wParam = DBT_DEVNODES_CHANGED // 0x00000007
* lParam = 0 // 0x00000000
* send when configmg finished a process tree batch. Some devnodes
* may have been added or removed. This is used by ring3 people which
* need to be refreshed whenever any devnode changed occur (like
* device manager). People specific to certain devices should use
* DBT_DEVICE* instead.
*/
т.е. получается что, при подкл и откл USB-клавы приходит не DBT_DEVICEARRIVAL и DBT_DEVICEREMOVECOMPLETE, а 12 и 6 DBT_DEVNODES_CHANGED сообщений соответственно...
почему? и можно ли отловить DBT_DEVICEARRIVAL и DBT_DEVICEREMOVECOMPLETE? (vc++ Console, WinXP).
спасибо!
Отвечает: Лысков Игорь Витальевич
Здравствуйте, Иванов, Артем!
Намутил однако в анализе...
Сравни с кодом в приложении.
Приложение:
--------- Удачи!
Ответ отправил: Лысков Игорь Витальевич (статус: Специалист)
Ответ отправлен: 28.03.2008, 15:34 Оценка за ответ: 5 Комментарий оценки: спасибо за ответ!
намудрил?! может. :О) нашел такой пример и тестил поразному, пытался сооб поймать.
код работает, но только для флешки... на подкл USB-клавы никак не реагирует. :О( видемо, не происходит изменения объема и похоже что, все же необходимо регистрация устройства.
?:О| хотя думал, что на поключение устройства, в этом нет необходимости.
Вопрос № 129.544
Уважаемые эксперты помогите пожайлуста решить следующую задачу на C++
Описать структуру с именем TRAIN, содержащую следующие поля:
1)названое пункта назначения;
2)номер поезда;
3время отправления.
написать программу выполняющую следуюдейчтвия:
1)ввод с клавиатуры данныхв массив, состояющий из шести элементов типа TRAIN;
записи должны быть упорядочены по времени отправления покзда;
2)вывод на экран информации о поездах, напрявляющихся в пункт,название которого введено с клавиатуры;
3)если такого поезда нет выдать на дисплай соответствующее сообщение.
Описать структуру с именем TRAIN, содержащую следующие поля:
1)названое пункта назначения;
2)номер поезда;
3время отправления.
написать программу выполняющую следуюдейчтвия:
1)ввод с клавиатуры данныхв массив, состояющий из шести элементов типа TRAIN;
записи должны быть упорядочены по времени отправления покзда;
2)вывод на экран информации о поездах, напрявляющихся в пункт,название которого введено с клавиатуры;
3)если такого поезда нет выдать на дисплай соответствующее сообщение.
Отвечает: Verena
Здравствуйте, Латуринский Сергей Дмитриевич!
Ваша задача решается очень просто. Структура - такой же тип данных, как и любой другой, и работа с массивом структур аналогична работе с массивом простого типа, только наибольший интерес представляет обращение к полям структуры (это делается через точку - a.field или a[i].field для массива). Реализовать данную структуру можно по-разному, в моём варианте время является строковой величиной и сортировка происходит простым сравнением строк, однако тут надо понимать, что время в этом случае должно вводиться в одном
формате (чч:мм, с ведущими нулями), иначе при сравнении может возникнуть ошибка. При желании можно добавить специальную функцию, которая проверяла бы, в верном ли формате введено время и сохраняло его в нужном виде. В общем, в приложении один из возможных вариантов реализации данной задачи.
Удачи!
Приложение:
--------- Эта история - не для истории, понимаешь?
Ответ отправила: Verena (статус: Практикант)
Ответ отправлен: 29.03.2008, 22:15 Оценка за ответ: 5 Комментарий оценки: спасибо большое
Вопрос № 129.553
Здравствуйте! У меня проблема: установил Microsoft Visual Studio 2008 team suite
(team suite дополнительные компоненты не устанавливал), запустил Microsoft
Visual Studio, выбрал General development settings, открыл прогу, которую раньше писал в Dev-c++ (в приложении),а кнопки отладки не нашёл! Потом добавил панель инструментов Debug, но там кнопка прогона проги не высыечена, т. е. не работает. Она высвечивается только в том случае, если создать новый проект и открыть в нём этот файл, но тогда при прогоне выдаётся след. ошибка:
mt.exe : general error c10100b1: Failed to load file ".\Debug\proba.exe". 5 C405BAO =09B8 C:070==K9 D09; Я наверно что-то не так делаю, дайте, может какие ссылки на книги по Visual'у, уж очень хочется научиться на нём программировать. И, если знаете, дайте какие-нибудь ссылки на книги\уроки как программировать игры.
Приложение:
Отправлен: 29.03.2008, 10:49
Вопрос задал: Piotr-es (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 5)
Отвечает: Ross
Здравствуйте, Piotr-es!
Нужно сначала создать новый проект.
Выбирайте File -> New -> Project -> Visual C++ -> Win32 -> Win32 Console Application (консольное приложение). Там же укажите имя проекта и директорию, в которой он будет находиться.
Жмите OK, затем в Application Settings поставьте флажок Empty project (это значит, что для проекта мастером не будет генерироваться шаблон программы). Нажимайте Finish. Все настройки проекта можно потом поменять в Project->Properties.
Теперь можно добавить в проект ваш файл: Project -> Add Existing Item либо нажать Alt + Shift +A.
Собирается проект по нажатию f7(по умолчанию) либо Build->Build Solution. Запустить отладку - F5, просто запустить приложение без отладки - ctrl + F5
--------- Доступно только то, что видимо (c) Б. Керниган
Ответ отправил: Ross (статус: Практикант)
Ответ отправлен: 29.03.2008, 14:02 Оценка за ответ: 5 Комментарий оценки: Всё сделал как вы сказали, прошло без ошибок. Но при нажатии на кнопку Debug выскакивает след. ошибка: Приложению не удалось запуститься, поскольку MSVCP90D.dll не был найден. Повторная устан.. P.S.: а как создать .exe из проекта?