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

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


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

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

Выпуск № 592
от 29.09.2004, 17:00

Администратор:
Имя: Nick.Box
URL: Информационный ресурс
ICQ: 365124
[censored], [censored]
О рассылке:
Задано вопросов: 1916
Отправлено ответов: 3665
Активность: 191.2 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе][Обсудить на форуме]


 Список экспертов, ответы которых опубликованы в данном выпуске

gAmUssA
Статус: Начальный
Общий рейтинг: 146.66
[Подробней >>]
DiGiT
Статус: Доверительный
Общий рейтинг: 117.64
[Подробней >>]
SackTap
Статус: Опытный
Общий рейтинг: 110.24
[Подробней >>]
 
vitya
Статус: Профессиональный
Общий рейтинг: 109.6
[Подробней >>]
Kilick
Статус: Опытный
Общий рейтинг: 138.59
URL: Design Group DOk Art
Телефон: +73832713141
[Подробней >>]


 Краткий перечень вопросов

Вопрос № 1904. Уважаемые эксперты, хочу спросить можно ли вообще и как если можно вставлять код на ассемблере в С++... (ответов: 4)
Вопрос № 1905. Здравствуйте. Вопрос - маленький: Как инвертировать матрицу? Никак не найду нужного алгоритма. Возмо... (ответов: 3)
Вопрос № 1906. Здравствуйте, люди!!! У меня Win98. Мне нуженo поставить Borland C++ Builder 6. Ставил - не получило... (ответов: 3)
Вопрос № 1907. Здорова всем! По поводу вопроса 1894 про getch в мандрейке. Всегда думал, что getch- посиксовый стан... (ответов: 1)
Вопрос № 1908. Уважаемые эксперты!!! У меня вопрос по WinAPI. Почему при работе в VC++ 6.0 и использовании таких ф... (ответов: 3)
Вопрос № 1909. Дайте плз пару ссылок на нормальную инфу для начинающего!!! И вопрос как организовать аутентификацию... (ответов: 1)

Вопросов: 6, ответов: 15


 Вопрос № 1904

Уважаемые эксперты, хочу спросить можно ли вообще и как если можно вставлять код на ассемблере в С++ программы на Visual C++ 6.0



Вопрос отправлен: 25.09.2004, 18:38
Отправитель: axus

[Следующий вопрос >>] [Список вопросов]

Отвечает gAmUssA

Доброе время суток, axus!
Можно! и более того нужно!!!
См. приложениеГрузите апельсины бочками...

Приложение:

Ответ отправлен: 25.09.2004, 19:00
Отправитель: gAmUssA


Отвечает DiGiT

Добрый день, axus!
Да можно. для этого служит блок __asm{}. наберите в MSDN данное слово и вам будет и пример и описание.

Ответ отправлен: 25.09.2004, 19:00
Отправитель: DiGiT


Отвечает SackTap

Здравствуйте, axus!
конечно же можно:
_asm mov ax, 1

Ответ отправлен: 26.09.2004, 02:59
Отправитель: SackTap


Отвечает vitya

Приветствую Вас, axus!
__asm {
......
}

Ответ отправлен: 26.09.2004, 11:14
Отправитель: vitya


 Вопрос № 1905

Здравствуйте.
Вопрос - маленький:
Как инвертировать матрицу?
Никак не найду нужного алгоритма.
Возможно этот вопрос больше адресован не к программерам, а к математикам, но всё-же мне нужен алгоритм, а не набор формул с доказательствами (в нете их много, особенно доказательств и теории). А вот собственно практических задачь - нету. :(
Нужно инвертировать матрицу 4 на 4. Элементы - float.
А догадываюсь, что это как-то связано с дополнениями элементов исходной матрици, но все мои попытки были тщетны.
Должно быть: A*A'=E, что у меня упорно не выходит...
Люди, помогите кодом и/или советом. Плиииииииз...



Вопрос отправлен: 25.09.2004, 23:09
Отправитель: Andre

[Следующий вопрос >>] [Список вопросов]

Отвечает gAmUssA

Доброе время суток, Andre!
Вообще - то, алгоритм нахождения обратной матрицы можно найти лубом учебнике по вышке (высшей математике). Итак, самый простой, не очень эффективный:
1. находишь определитель исходной матрицы
2. обратное значение определителя (1/det) умножаешь на матрицу, которая получается из исходной путём замены её соответствующих элементов на их алгебраические дополнения.
Неэффективность на лицо - при больших размерностях это просто труба, но для 4х4 подойдёт...
Также существует метод с использыванием собственных чисел и собственных векторов. Я его щас не вспомню - достаточно сложный.Грузите апельсины бочками...

Ответ отправлен: 26.09.2004, 03:05
Отправитель: gAmUssA


Отвечает DiGiT

Здравствуйте, Andre!
В общем алгоритм, такой:
1) Дополняешь основную матрицу единичной
2) сводишь первичную матрицу методом гаусса до единичной, соответственно все изменения нужно, чтобы проводились параллельно с дополнением
3) После того как свел основную матрицу к единичной, то дополнение у тебя будет как раз и обратной матрицей к исходной. В общем этот способ будет работать до матриц размером 10^4, больше этот метод не сможет дать результат.
К томуже проверяй еще чтобы у тебя числа не вылазили за допустимые диапазоны, т.е. чтобы не происходило например такого: 10^12/10^-12, т.к. операции таких порядков в принципе не влезут в мантиссу того же double. Но это уже глубокие численные методы не забивай ими голову без надобности :)
Схематичное изображено в риложении

Приложение:

Ответ отправлен: 26.09.2004, 09:14
Отправитель: DiGiT


Отвечает vitya

Здравствуйте, Andre!
Поищите в гугле inverse matrix. Найде как минимум 2 метода для этого. Один практически не применим - с детерминантом. Другой, метод Гаусса, то что вам надо.

Ответ отправлен: 26.09.2004, 11:09
Отправитель: vitya


 Вопрос № 1906

Здравствуйте, люди!!!
У меня Win98. Мне нуженo поставить Borland C++ Builder 6.
Ставил - не получилось: после инсталяции включаю, значить, его, а он, простите, гад, ругается на некорректую инструкцию или че-то такое. В общем я узнал что он на Win98 не работает, только на NT, 2000, XP. WinXP у меня не попрет, для Win2000/NT требований не знаю. Вот...
Вопрос: У меня корявая версия? Есть ли какая-нить заплатка на него?



Вопрос отправлен: 25.09.2004, 23:16
Отправитель: Sinus (sinus@nm.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает gAmUssA

Здравствуйте, Sinus!
Отрывок из файла install.doc
Minimum system requirements

Intel Pentium 166 MHz or higher (P2 400 MHz recommended)
Microsoft Windows 98, Windows Millennium (Me), Windows 2000, or later version of the Microsoft Windows operating system
128 Mb RAM (256 Mb recommended)
115 Mb hard disk space (compact install)
Hard disk space required for a full install: 675 Mb (Enterprise edition); 580 Mb (Professional);
480 Mb (Personal)
CD-ROM drive
VGA or higher resolution monitor
· Mouse or other pointing device
Так что, товарищ, ищите другой дистрибутив.
p.s. Если "прёт " 98, то NT 4.0 точно пойдёт...
Грузите апельсины бочками...

Ответ отправлен: 26.09.2004, 03:05
Отправитель: gAmUssA


Отвечает Kilick

Доброе время суток, Sinus!
Он работает на любом виндовсе!
Лучше его запускать через DOS!

Ответ отправлен: 26.09.2004, 07:42
Отправитель: Kilick


Отвечает DiGiT

Здравствуйте, Sinus!
Хмм. зачем такой мощный инструмент на такую хилую тачку ? Попробуйте старую версию вроде BCB 5,4. Win2000 будет работать на p400/64mb.... в принципе нормально WinNT и подавно, но такое старье лучше не ставить... Вообще говоря XP тоже работает при таких параметрах :)

Ответ отправлен: 26.09.2004, 09:17
Отправитель: DiGiT


 Вопрос № 1907

Здорова всем!
По поводу вопроса 1894 про getch в мандрейке.
Всегда думал, что getch- посиксовый стандарт. У мелкомягких в conio.h есть int _getch(void);
В линуксе помойму в curses.h.
Или я не прав???



Вопрос отправлен: 26.09.2004, 11:43
Отправитель: morgion

[Следующий вопрос >>] [Список вопросов]

Отвечает vitya

Добрый день, morgion!
(n)curses - это библиотека, которая, обычно, есть во всех поставках.

Ответ отправлен: 26.09.2004, 11:53
Отправитель: vitya


 Вопрос № 1908

Уважаемые эксперты!!!
У меня вопрос по WinAPI.
Почему при работе в VC++ 6.0 и использовании таких функций как SendMessage(), PostMessage(), ShowWindow(), я не могу послать никакой сигнал чужим окнам???
Зараннее благодарен.



Вопрос отправлен: 26.09.2004, 15:22
Отправитель: Nikolay (kometa_c@mail.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает DiGiT

Добрый день, Nikolay!
Странно почему ты не можешь послать :)
Может ты используешь MFC функции SendMessage, PostMessage ?
Для использования Апи функций вместо MFC достаточно указать два двоеточия ::SendMessage. Таким образом ты обращаешься к глобальному пространству имен.

Ответ отправлен: 26.09.2004, 18:26
Отправитель: DiGiT


Отвечает gAmUssA

Доброе время суток, Nikolay!
Почему не можешь, очень даже можешь. Только надо знать HWND окна, которому посылаешь...
В приложении пример, как скрыть кнопку "Пуск"Грузите апельсины бочками...

Приложение:

Ответ отправлен: 26.09.2004, 23:56
Отправитель: gAmUssA


Отвечает vitya

Добрый день, Nikolay!
Так решили разработчики Windows. В старых версиях это возможно.

Ответ отправлен: 27.09.2004, 08:33
Отправитель: vitya


 Вопрос № 1909

Дайте плз пару ссылок на нормальную инфу для начинающего!!!
И вопрос как организовать аутентификацию в Билдере??



Вопрос отправлен: 26.09.2004, 15:44
Отправитель: Roma (romak1982@mail15.com)

[Следующий вопрос >>] [Список вопросов]

Отвечает gAmUssA

Приветствую Вас, Roma!
http://www.firststeps.ru - полно всякой инфы.
http://www.bcbdev.ru
http://borland.xportal.ru
2. аутендификацию чего?Грузите апельсины бочками...

Ответ отправлен: 26.09.2004, 23:56
Отправитель: gAmUssA



Форма отправки вопроса

Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

(C) 2002-2003 Команда RusFAQ.ru.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


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


Получить ответов:


 Выбор рассылки

Программисту
Assembler (23)
C / C++ (16)
Perl (8)
Builder / Delphi (16)
Pascal (21)
Basic / VBA (8)
Java / JavaScript (7)
PHP (18)
Криптография (8)
WinAPI (14)
Радиоэлектроника (15)
Пользователю
Windows 95/98/Me (49)
Windows NT/2000/XP (68)
"Железо" (42)
Поиск информации (24)
Администратору
Windows NT/2000/XP (46)
Linux / Unix (21)
Юристу
Гражданское право (7)
Семейное право (4)
Трудовое право (6)
КоАП (4)

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




Задать вопрос | Регистрация эксперта | Поиск в базе | Чат | Форумы | Новости
Проект экспертов RusFAQ.ru | Фотоальбом | Virus.RusFAQ.ru | Администрирование


hotlog_js="1.0";hotlog_d=document; hotlog_n=navigator;hotlog_rn=Math.random(); hotlog_n_n=(hotlog_n.appName.substring(0,3)=="Mic")?0:1; hotlog_r=""+hotlog_rn+"&s=25513&im=127&r="+escape(hotlog_d.referrer)+"&pg="+ escape(window.location.href); hotlog_d.cookie="hotlog=1"; hotlog_r+="&c="+(hotlog_d.cookie?"Y":"N"); hotlog_d.cookie="hotlog=1; expires=Thu, 01-Jan-70 00:00:01 GMT" hotlog_js="1.1";hotlog_r+="&j="+(navigator.javaEnabled()?"Y":"N") hotlog_js="1.2";hotlog_s=screen; hotlog_r+="&wh="+hotlog_s.width+'x'+hotlog_s.height+"&px="+((hotlog_n_n==0)? hotlog_s.colorDepth:hotlog_s.pixelDepth) hotlog_js="1.3" hotlog_r+="&js="+hotlog_js; hotlog_d.write("HotLog") Яндекс цитирования
© 2001-2004 Россия, Москва. Идея, дизайн, программирование: Калашников О.А. ICQ: 68951340
При перепечатке материалов ссылка на данный сайт обязательна!

http://subscribe.ru/
http://subscribe.ru/feedback/
Подписан адрес:
Код этой рассылки: comp.soft.prog.cplus
Отписаться

В избранное