Russian Qt Forum
Апрель 30, 2024, 18:39 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало Форум WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  
  Просмотр сообщений
Страниц: 1 ... 711 712 [713] 714 715 ... 761
10681  Программирование / Алгоритмы / Re: Равенство формул : Январь 18, 2010, 21:09
>>Как эту задачу представляет себе человек?
порой, без должной тренировки одну формулу к другой не просто привести.

Если сделать програмулину решающую эту задачу и  потихоньку раскрутить, то можно и Маткаду конкуренцию составить
"Та отож" - и пусть она решает задачки для поступающих в ВУЗы (сборник Сканави, сложность "В"). Реальные задачи надо ставить (даже с мощным Qt)
10682  Qt / Работа с сетью / Re: Qt 4.4.3 msvc2008 QDataStream лишние 2-4 байта : Январь 18, 2010, 15:59
Код
C++ (Qt)
QByteArray block;
QDataStream(&block);
quint16 size;
out<<size;//можно заменить канеш на (quint16)0;
out<<str;
out<<str;
out<<str;
out.device()->seek(0);
size=block.size()-sizeof(quint16)
out<<size;//или  сразу (quint16)((block.size()-sizeof(quint16))
 
Вот это действительно расписано, все ясно. Два технических момента:

1) quint32 (вместо quint16) выглядит солиднее  Улыбающийся
2) не обязательно связываться с block.size(), часто лучше использовать position() (сохраненное перед out << size)

Но эти детали не очень существенны.
10683  Qt / Работа с сетью / Re: Qt 4.4.3 msvc2008 QDataStream лишние 2-4 байта : Январь 18, 2010, 15:27
Причем, чуть ниже все расписано...
А что собственно расписано?

Код
C++ (Qt)
QString str = tr( "sos" );
QByteArray block;
QDataStream out(&block, QIODevice::WriteOnly);
out << size;   // Размер блока как в примере
out << QString( "Str1" );
out << QString( "Str2" );
out << QString( "Str3" );
 
Вот мне интересно откуда взялся size если данные пишутся позже?
10684  Qt / Работа с сетью / Re: Qt 4.4.3 msvc2008 QDataStream лишние 2-4 байта : Январь 18, 2010, 15:03
А почему бы тебе не попробовать?
Код
C++ (Qt)
out << str;
out << str;
out << str;
 

А на другой стороне принять.
Думаю ты будешь приятно удивлен.  Улыбающийся

Это действительно приятно и будет работать. Но "до первого милиционера" - ведь правильность/длина передаваемого пакта никак не контролируется  Улыбающийся
10685  Компиляторы и платформы / Linux / Re: collect2: cannot find ld (Eclipse CDT) : Январь 18, 2010, 03:03
Использовать CMake + Makefile-проект в Эклипсе?
Уже хотел было спросить "а как это сделать?" но в последний момент получилось с IDE  Улыбающийся

1) Скопировал ld как real-ld (не знаю обязательно ли это)
2) А вот это точно обязательно: в команду линкера (g++) добавить путь к ld, итого
Цитировать
g++ -B/usr/bin
И все бы ничего (и Линукс ОС интересный) - если бы на это у меня не ушло 3 полных дня  Улыбающийся
10686  Компиляторы и платформы / Linux / collect2: cannot find ld (Eclipse CDT) : Январь 17, 2010, 13:04
Добрый день

Получаю такую бяку на линковке,
Цитировать
Building target: Test1.exe
Invoking: GCC C++ Linker
g++ -o"Test1.exe"  ./src/Test1.o
collect2: cannot find 'ld'
make: *** [Test1.exe] Error 1
причем только из Eclipse IDE, из командной строки все прекрасно работает и Test1.exe создается. Перепроверил PATH много раз, чтобы убедиться сделал pre-build step в котором печатаю PATH и список файлов в нем. Изучил также http://docs.freebsd.org/info/gcc/gcc.info.Collect2.html и попробовал все варианты оттуда.

Linux: Fedora 12, 32-bits (gcc 4.4.2)  На стареньком RedHat Linux (gcc 4.1) все работает из IDE, но там я никак не могу прорваться c Mesa, OpenGL -  т.е. с теми библиотеками которые мне нужны.

На всякий случай вот версии
Цитировать
[Igor@localhost ~]$ g++ --version
g++ (GCC) 4.4.2 20091027 (Red Hat 4.4.2-7)
Copyright (C) 2009 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

[Igor@localhost ~]$ ld --version
GNU ld version 2.19.51.0.14-34.fc12 20090722
Copyright 2008 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or (at your option) a later version.
This program has absolutely no warranty.

Конечно, гуглил - проблема известна - но не ее решение  Плачущий  Похоже на проблему Eclipse + libgcj-4.4.2-7 (java runtime library for gcc). Если знаете что делать - подскажите, буду благодарен
10687  Разное / Говорилка / Re: Задачки : Январь 11, 2010, 18:53
Поймите, здесь не идет речи ни о каком вероятностном эксперименте. Следовательно высчитывать вероятность того или иного исхода бессмыслено! Фраза "Раскраска - абсолютно случайная" означает, что требуется дать ответ для общего случая, не ограниченного никакими предположениями. Поэтому "вероятность выпадения не ноль" для бесконечной прямой ничего не дает.
Мне кажется здесь все ясно. Ладно, наверное мы с Вами думаем по-разному  Улыбающийся  Не буду Вам больше мешать.
10688  Разное / Говорилка / Re: Задачки : Январь 11, 2010, 18:21
Предположения... У этой задачи есть однозначный ответ, без всяких предположений и вероятностных моделей.

В общем и целом ответ неверный. Жду других предложений.

Подсказка: не бросайтесь в теорию вероятностей и остальную высшую математику.
А не слишком ли Вы уверены что ответ (который Вы имеете ввиду) "верен"?  Улыбающийся Если ли Вы утверждаете что выбор цвета "абсолютно случаен" - то вероятностная модель заложена в самой постановке задаче и избавиться от нее нельзя (да и не нужно). Другое дело что (вероятно  Улыбающийся) можно показать очевидность существования каким-то остроумным способом. Не спорю, этого я не знаю. Но любой ответ будет использовать теорию вероятности - хотим мы или нет. Поэтому мой ответ останется "столь же верен"  Улыбающийся
10689  Разное / Говорилка / Re: Задачки : Январь 11, 2010, 17:36
вероятность подсчитана верно, спору нет. Вот только даже при вероятности 0.999 нельзя утверждать, что этот отрезок существует, поскольку она не равна 1. Вот и у вас получается, что вероятность его существования 0.125. Так существует он ли нет? Улыбающийся
На бесконечной прямой - конечно существует, просто потому что вероятность его выпадения не ноль. Для конкретных данных - на тестируемом участке напр. из 1000 точек найдется (в среднем/примерно) 125 таких отрезков. Это число будет колебаться в зависимости от random seed. Утверждать что при фиксированном числе выборок "всегда существует" - неверно. По крайней мере теоретически - возможна такая случайная последовательность при которой ни одного такого отрезка не будет, хотя это может произойти раз за миллион лет посвященных перебору  Улыбающийся

Не пойму где нужно приложить смекалку  Улыбающийся
10690  Разное / Говорилка / Re: Задачки : Январь 11, 2010, 17:06
Цитировать
Что не так?
а может и не найдется Веселый 50/50

нет, тут есть математическое решение.. вот только какое? (задачка с подковыркой)
тут нужно и пределы и интегралы и теорию вероятности использовать Улыбающийся
Да я ж не против подковырок, но пусть мне пояснят где проблемы-то. А пока я вижу вероятность такого отрезка 0.125 - и ничего более  Улыбающийся
10691  Разное / Говорилка / Re: Задачки : Январь 11, 2010, 16:49
Не пойму в чем задача. Ладно, встали в первую точку отрезка. Возможно ли что там нужный нам цвет? Конечно, с вероятностью 0.5 (надо полагать "абсолютно случайно" - значит "равновероятно"). Стали в середину - возможно ли что там опять нужный нам цвет? Конечно возможно (и к бабке не ходи). Точно так же с концом. А поскольку прямая бесконечна - мы вправе утверждать что да, всегда существует при любом random seed. А если даже заменить прямую на "большой отрезок" - нужная комбинация найдется при каком-то random seed.

Что не так?
10692  Qt / 2D и 3D графика / Re: Модель из 3dmax_ в Open GL : Январь 11, 2010, 15:17
Дальше в теме по существу.
Согласен  Улыбающийся

Код:
class vertex{
public:
float x,y,z;
};
Если этот скромный ("конкретный") класс развить - толку будет намного больше чем от использования всех умных контейнеров вместе взятых. Например

Код:
struct vertex {
// avoid constructor
 vertex & xyz( float _x = 0.0f, float _y = 0.0f, float _z = 0.0f )  { x = _x; y = _y; z = _z; return *this; }

// math
  vertex & operator += ( const vertex & t ) { x += t.x; y += t.y; z += t.z; return *this; } 
  vertex & operator -= ( const vertex & t ) { x -= t.x; y -= t.y; z -= t.z; return *this; } 

  vertex & operator *= ( float t ) { x *= t; y *= t; z *= t; return *this; } 
  vertex & operator /= ( float t ) { x /= t; y /= t; z /= t; return *this; } 

// length & normalize
  float lenSq ( void ) const { return x * x + y * y + z * z; }
  float length ( void ) const { return sqrtf(lenSq); }

  vertex & normalize( void ) { return *this /= length(); }

// friend operators
  friend vertex operator + ( const vertex & a , const vertex & b ) { vertex t; return t.xyz(a.x + b.x, a.y + b.y, a.z + b.z); }
  friend vertex operator - ( const vertex & a , const vertex & b ) { vertex t; return t.xyz(a.x - b.x, a.y - b.y, a.z - b.z); }

  friend vertex operator * ( const vertex & a, float t ) { vertex v = a; return v *= t; } 
  friend vertex operator / ( const vertex & a, float t ) { vertex v = a; return v /= t; } 

// scalar product (overloaded *)
  friend float operator * ( const vertex & a , const vertex & b ) { return a.x * b.x + a.y * b.y + a.z * b.z; }
 
// vector product (overloaded |)
  friend vertex operator | ( const vertex & a , const vertex & b )
  {
    vertex t;
    return t.xyz(a.y * b.z - a.z * b.y,
                     a.x * b.z - a.z * b.x, 
                     a.x * b.y - a.y * b.x);
  }
};
Теперь ф-ция CalcNormal может выглядеть напр. так

Код:
void QGLMesh::CalcNormal(const & vertex p1, const & vertex p2, const & vertex p3, vertex *res)
{
 *res = ((p2 - p1) | (p3 - p1)).normalize();
}
{

А про вертексные нормали можно долго говорить (после того как ieroglif перестанет обижаться  Улыбающийся)
10693  Qt / 2D и 3D графика / Re: Модель из 3dmax_ в Open GL : Январь 10, 2010, 16:45
класс для загрузки и отрисовки из 3ds файла. (в него умеет сохранять макс без проблем)
класс глючный (не уверен в корректной работе нормалей) и выполняет только базовые функции отрисовки полигонов (без цветов и материалов). класс QGLVector - обычный, хранит в себе 3 координаты. В общем, думаю, можно оттолкнуться и  использовать для написания своего кода.
Вопрос: сколько строк (в %) было использовано для повторения операций над всеми 3-мя компонентами (x, y, z)?
Технику-то подтянуть надо.
10694  Qt / Общие вопросы / Re: Основы удаление объектов. : Январь 09, 2010, 21:33
Igors, я мало что понял из того что вы написали. Внутренности вас волновать не должны. A - мой собственный класс, что хочу в нём - то и храню. Вы не можете навязывать хранение по значению, так как класс может быть не перемещаем. Всё что показывает пример - несоответствие количества new количеству delete.
Я хотел просто сказать - спланируйте класс удачнее и "количество написанных delete" (правильно  Улыбающийся?) схлопнется само сабой
10695  Qt / Общие вопросы / Re: Основы удаление объектов. : Январь 09, 2010, 19:39
Погодите, я не говорил, что это плохо. В библиотечном классе, который я привёл в пример - это абсолютно нормально, реализовать столько вариантов деаллокаций сколько нужно. Главное что они не торчат наружу.
Не хватало еще чтобы они торчали наружу. Вы задумали
Код:
QHash<int,A*> values_;
Понятно, хотите быстро работать с указателями, а не месить сами объекты (напр. при каждой сортировке). Но с какой стати такая конструкция выделяет/удаляет экземпляры A? Это было бы уместно для  QHash<int,A>. но никак не для QHash<int,A*>. Поручите это QList<A>, он может быть напр. членом того же класса B. Так что говорили Вы или нет - все равно это плохо  Улыбающийся
Страниц: 1 ... 711 712 [713] 714 715 ... 761

Страница сгенерирована за 0.263 секунд. Запросов: 23.