Вопрос № 86353: Приветствую,
нужно найти обратную матрицу методом Гаусса (4х4). Пытался найти сам, но безуспешно. Интересует всё, в смысле реализация на любом языке или хотя - бы понятное математическое объяснение как это делается.
Заранее спасибо...Вопрос № 86400: Здравствуйте, уважаемые эксперты!
Проблемка: нужно убрать из заголовка окна кнопку "Close" ( [Х] ) (именно убрать, а не Disable), оставив кнопки сворачивания/разворачивания ( [-] ). Вроде чепуха, а застрял.
MS Visual C++ (Visual Stu...Вопрос № 86429: Ни как не могу составить, решение это задачи на С++. НЕlp!!!
Матрица А содержит координаты N точек на плоскости, а матрица B задаёт М прямоугольников(координатами левого верхнего и нижнего правого угла). Для каждого прямоугольника подсчитать...Вопрос № 86486: здраствуйти!
У менеа такои вопрос:
Как создавать динамические char * и потом его обновлять..
чтото типа:
char * test;
test=new char[100];
test="TEST";
//test = "TESTtest=new char[200] ...Вопрос № 86487: Здравствуйте ! Подскажите пожалуйста как написать программу , которая открывает и закрывает cd-rom ? Там вроде бы работа с портами. И еще может расскажете какие номера портов соответсвуют определенным устройствам ?...
Вопрос № 86.353
Приветствую,
нужно найти обратную матрицу методом Гаусса (4х4). Пытался найти сам, но безуспешно. Интересует всё, в смысле реализация на любом языке или хотя - бы понятное математическое объяснение как это делается.
Заранее спасибо
Отправлен: 10.05.2007, 23:22
Вопрос задал: Sidukas (статус: Посетитель)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 5)
Отвечает: Gh0stik
Здравствуйте, Sidukas!
Алгоритма нахождения обратной матрицы:
* Заменить каждый элемент на его алгебраическое дополнение,
* Транспонировать полученную матрицу,
* Разделить каждый элемент на определитель исходной матрицы.
Также вот ссылка где можно прочитать боле детально.
В приложении привожу свой собственный алгоритм написанный на Delphi (но он может показаться Вам немного диким... :)
Good Luck!!!
Приложение:
--------- Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.
Ответ отправил: Gh0stik (статус: Профессионал) Украина, Славянск Организация: Славянский государственный педагогический университет (Кафедра алгебры) ICQ: 289363162 ---- Ответ отправлен: 10.05.2007, 23:59
Отвечает: Терсков Сергей
Здравствуйте, Sidukas!
Был уже подобный вопрос. Вот здесь есть STL реализация вашей проблемы.
http://rusfaq.ru/info/question/84400
Правда, в комментарии было сказано, что можно и проще написать, но вариантов больше не последовало.
Ответ отправил: Терсков Сергей (статус: 9-ый класс)
Ответ отправлен: 11.05.2007, 03:02
Отвечает: kool
Здравствуйте, Sidukas!
Обратную матрицу методом Гаусса найти нельзя.
Это будет уже другая матрица. Методом Гаусса
решается система линейных уравнений.
Удачи!
--------- I am.
Ответ отправил: kool (статус: Студент)
Ответ отправлен: 11.05.2007, 20:29
Вопрос № 86.400
Здравствуйте, уважаемые эксперты!
Проблемка: нужно убрать из заголовка окна кнопку "Close" ( [Х] ) (именно убрать, а не Disable), оставив кнопки сворачивания/разворачивания ( [-] ). Вроде чепуха, а застрял.
MS Visual C++ (Visual Studio .NET 2005).
Заранее спасибо.
Отправлен: 11.05.2007, 10:55
Вопрос задал: AlexKlaip (статус: 2-ой класс)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Vest
Здравствуйте, AlexKlaip!
К сожалению, её нельзя убрать, во всяком стандартными функциями API (я этого не нашёл). А потому придётся это организовывать вручную: сделать заголовок окна без стиля WS_SYSMENU. Тогда пропадут все кнопки, и самому уже заниматься отрисовкой тех кнопок, которые тебе нужны.
--------- "Халявы не бывает" (c)
Ответ отправил: Vest (статус: 4-ый класс)
Ответ отправлен: 13.05.2007, 12:54
Вопрос № 86.429
Ни как не могу составить, решение это задачи на С++. НЕlp!!!
Матрица А содержит координаты N точек на плоскости, а матрица B задаёт М прямоугольников(координатами левого верхнего и нижнего правого угла). Для каждого прямоугольника подсчитать число точек, находящихся строго внутри прямоугольника.
Отвечает: Терсков Сергей
Здравствуйте, Кальметьев Эмиль!
Не могу представить как в матрице хранить координаты точек и прямоугольников. Вот вариант с использованием обычных одномерных массивов.
Приложение:
Ответ отправил: Терсков Сергей (статус: 9-ый класс)
Ответ отправлен: 14.05.2007, 04:24 Оценка за ответ: 4 Комментарий оценки: Спасибо, ппопробую использовать, но поже должно подойти.
Вопрос № 86.486
здраствуйти!
У менеа такои вопрос:
Как создавать динамические char * и потом его обновлять..
чтото типа:
char * test;
test=new char[100];
test="TEST";
//test = "TESTtest=new char[200] // чтото типа append??
test="TEST2";
//Здесь Мне Нужно чтоб добовлеалось а не стиралось... Нужен тест чтоб бил test="TESTTEST2"
зарание спасибо
Отправлен: 11.05.2007, 20:41
Вопрос задал: spider (статус: 6-ой класс)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 6)
Отвечает: Dark Daskin
Здравствуйте, spider!
Используйте код вида:
char *str = new char[100]; //Создание пустой строки длиной 100
strcpy(str, "Str1"); //Копирование значения в строку
realloc(str, 200); //Изменение длины строки на 200
strcat(str, "Str2"); //Добавление к строке значения
cout << str; //Str1Str2
Использовать str = "Str" не стоит, т.к. при этом память выделяется снова, а предыдущее значение теряется.
--------- Драконы наступают!
Ответ отправил: Dark Daskin (статус: 1-ый класс)
Ответ отправлен: 11.05.2007, 20:56
Отвечает: kool
Здравствуйте, spider!
Если использовать MFC
такое возможно с классом CString.
Иначе можно использовать шаблон vector.
Такая запись
test=new char[100];
test="TEST";
ошибочна.
Вместо test="TEST";нуно strcpy(test,"TEST");
Лучше вообще сразу выделять память с запасом.
>>//Здесь Мне Нужно чтоб добовлеалось а не стиралось... Нужен тест чтоб бил
Для добавления можно воспользоваться ф-ций strcat(test,"TEST2");
Удачи!
--------- I am.
Ответ отправил: kool (статус: Студент)
Ответ отправлен: 11.05.2007, 23:17
Отвечает: Ross
Здравствуйте, spider!
Чтобы увеличить длину строки:
char * test = new char[100];
strcpy(test,"TEST");
char * test_tmp = new char [100];
strcpy(test_tmp,test);
delete test; test = new char[200];
strcpy(test,test_tmp);
strcat(test,"TEST2");
delete test_tmp;
Как видишь довольно геморно... :( Т.е. нужно создавать временный массив, копировать туда данные, потом его удалять... Гораздо проще для этой цели использовать класс CString из MFC. Тогда можно написать чтото типа этого:
CString test;
test = "TEST";
test += "TEST2";
--------- Доступно только то, что видимо (c) Б. Керниган
Ответ отправил: Ross (статус: 9-ый класс)
Ответ отправлен: 12.05.2007, 20:33
Вопрос № 86.487
Здравствуйте ! Подскажите пожалуйста как написать программу , которая открывает и закрывает cd-rom ? Там вроде бы работа с портами. И еще может расскажете какие номера портов соответсвуют определенным устройствам ?
Отправлен: 11.05.2007, 20:43
Вопрос задал: Whiteman (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Lomer
Здравствуйте, Whiteman!
Насчет портов не знаю, но открытие cd-rom производится так:
#include <mmsystem.h>
mciSendString("Set cdaudio door open wait", NULL, 0, NULL);
Закрытие:
mciSendString("Set cdaudio door closed wait", NULL, 0, NULL);
Ответ отправил: Lomer (статус: 4-ый класс)
Ответ отправлен: 11.05.2007, 21:13
Для использования функций мультимедиа, в свойствах проекта в разделе Linker/Input/Additional Dependencies добавьте winmm.lib
Также не забудьте #include <windows.h> в начале программы.
Приложение:
--------- Драконы наступают!
Ответ отправил: Dark Daskin (статус: 1-ый класс)
Ответ отправлен: 11.05.2007, 21:29