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

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


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

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

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

Выпуск № 1043
от 03.04.2008, 13:05

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

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


Вопрос № 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- желательно поскорей

Приложение:

Отправлен: 28.03.2008, 13:18
Вопрос задал: Латуринский Сергей Дмитриевич (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: 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, 14:36
Вопрос задал: Иванов, Артем (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Лысков Игорь Витальевич
Здравствуйте, Иванов, Артем!
Намутил однако в анализе...
Сравни с кодом в приложении.

Приложение:

---------
Удачи!

Ответ отправил: Лысков Игорь Витальевич (статус: Специалист)
Ответ отправлен: 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)если такого поезда нет выдать на дисплай соответствующее сообщение.
Отправлен: 29.03.2008, 10:09
Вопрос задал: Латуринский Сергей Дмитриевич (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: 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 из проекта?


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

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

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

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

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

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


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


© 2001-2008, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале

∙ Версия системы: 4.72.6 от 22.03.2008

Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное