Этого треда уже нет.
Это копия, сохраненная 12 июня 2015 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
44 Кб, 604x471
C++ тред C++ тред #472173 В конец треда | Веб
Вопросу по синтаксису – на хуй.
Лабы – на хуй.
"Как мне сделать Х на чистых крестах без библиотек" – на хуй.
Qt – торт/не_торт – на хуй
Все идут на хуй.

Тег [code] работает через жабаскрипт-костыль: https://github.com/ololoepepe/MakabaCode

Очередной крестостраданий тред объявляю открытым.
Перекат из >>468625
#2 #472176
>>472173
а >>471785 легитимен?
#3 #472178
>>472176
Нет, там доминируют, а здесь задаю вопросы по лабам и ссут на птушников.
#4 #472195
>>472178
ММ, ТЫ СЛЫШАЛ, ЗАКРЫВАЙ НЕЛЕГИТИМНЫХ КРЕСТОПЕТУХОВ!!!
16 Кб, 500x367
sage #5 #472199
>>472173

> Qt – торт/не_торт – на хуй


Нелегитимный тред. Сажа, скрыл, пожаловался модератору, написал в спортлото
#6 #472203
Ввёл войска в нелегитимный тред.
sage #7 #472211
Слыш, чепушило-хейтер, твои ручные хомячки чет разбушевались, усмири их.
#8 #472264
Почему в прыщах софт пишут не на C++?
#9 #472265
>>472264
Прыщебляди-с. А вообще -- зависит от софта. Большую часть гуев пишут на вполне плюсатом Кьюте.
#10 #472369
Есть ли способ забахать forward-declaration std::wstring без
[code lang="cpp"]
namespace std
{
\tclass basic_string< wchar_t >;
}
[/code]
И вообще легитимен ли этот способ?
Хотелось бы обойтись без
[code lang="cpp"]
ClassName_impl *implementation;
[/code]
#12 #472455
>>472397
>>472369

>Хотелось бы обойтись без


>[code lang="cpp"]


>ClassName_impl *implementation;


>[/code]


В общем, сделал так
sage #13 #472581
>>472455
Мало ли чего тебе хотелось. Написано же, что невозможно.
#14 #472585
>>472173
ОПом легитимного треда может быть только Qt-петух с сажей. Куда он проебался, на рыбалку поехал на майские? Впрочем, держите архитектурный вопросец.

Вот есть такой код (он ничего не делает):
http://ideone.com/RxMiIE

Если for (unsigned int m = 7; m <= 7; --m) (проверка на переполнение) заменить на for (int m = 7; m >= 0; --m), то с заменой отработает быстрее?
sage #15 #472589
>>472585
Занят, мамашу твою чпокаю в сраку.
#16 #472590
>>472589
Ну блядь, совсем охуел. Треды не создаёт, мамаш чпокает.
#17 #472628
КРОК
Семинароход в треде. Сходил на заключительный семинар КРОК. В этот раз он был посвящен трудоустройству, а так как для меня это больная тема, то я после универа (с 8.00 до 16.00) ломанулся туда.

В конференц зале было дико жарко, тут самое место шутке про горящие пердаки. В общем, собрались там все хабраюзеры, даже больше, чем на первом семинаре.

Перед нами вещала HR-тян, которая поясняла за ошибки на собеседованиях. Для программиста - этот семинар был ненужен. Я бы назвал этот семинар: "Методы обхода HR-менеджера при трудоустройстве на работу". По факту, нормальному программисту будет похуй на те пункты, которые были освещены в презентации. Даже наоборот, было бы плюсом.

Например, одного КУНА зарубили на собеседовании на должность КУРЬЕРА, ибо у него был почтовый ящик сосика_на_колесах@mail.ru. Такая-то тонкота, господи.

Разобрали "ошибки" в резюме, показали идеальное резюме по мнению HR. Если кому надо - скину.

Java Java Java Java C# Java Java C#. Задумался, а не освоить ли Java, а то ведь даже сладенького хлебушка поесть не выйдет, лол.

Скрипт
Все ебусь со своими горшками. Сейчас встал вопрос о том, как оформлять программу выращивания какой-либо хуйни. В предыдущем треде сошлись на том, что нужно пилить на каком-нибудь скриптовом языке, но теперь я застрял на этапе проектирования типовой архитектуры скрипта.

Пока в голове крутится что-то вроде

{
Обязательные задачи по расписанию
//05.05.2015 добавить удобрения.
},
{
Задачи по условиям
//включить вентилятор, если t>40.
}

Пока концепции лучше в голову не приходит. Также нужен планировщик задач. Стоит ли его писать с нуля или срать в планировщик, который встроен в систему? С учетом того, что задач может быть неимоверно много? Если самому писать, то дайте ссылочки почитать, а то я вообще слабо представляю, как это реализовать.

Ноут
Думаю купить себе новый ноутбук, но так чтобы с шлинуксом, а то заебался пидориться под виртуалками, ибо текущий ноутбук оч хуево работает с Linux.
Кинцо иногда смотрю, код пишу, иногда в Halo CE гоняю.
Чего посоветуете?
#17 #472628
КРОК
Семинароход в треде. Сходил на заключительный семинар КРОК. В этот раз он был посвящен трудоустройству, а так как для меня это больная тема, то я после универа (с 8.00 до 16.00) ломанулся туда.

В конференц зале было дико жарко, тут самое место шутке про горящие пердаки. В общем, собрались там все хабраюзеры, даже больше, чем на первом семинаре.

Перед нами вещала HR-тян, которая поясняла за ошибки на собеседованиях. Для программиста - этот семинар был ненужен. Я бы назвал этот семинар: "Методы обхода HR-менеджера при трудоустройстве на работу". По факту, нормальному программисту будет похуй на те пункты, которые были освещены в презентации. Даже наоборот, было бы плюсом.

Например, одного КУНА зарубили на собеседовании на должность КУРЬЕРА, ибо у него был почтовый ящик сосика_на_колесах@mail.ru. Такая-то тонкота, господи.

Разобрали "ошибки" в резюме, показали идеальное резюме по мнению HR. Если кому надо - скину.

Java Java Java Java C# Java Java C#. Задумался, а не освоить ли Java, а то ведь даже сладенького хлебушка поесть не выйдет, лол.

Скрипт
Все ебусь со своими горшками. Сейчас встал вопрос о том, как оформлять программу выращивания какой-либо хуйни. В предыдущем треде сошлись на том, что нужно пилить на каком-нибудь скриптовом языке, но теперь я застрял на этапе проектирования типовой архитектуры скрипта.

Пока в голове крутится что-то вроде

{
Обязательные задачи по расписанию
//05.05.2015 добавить удобрения.
},
{
Задачи по условиям
//включить вентилятор, если t>40.
}

Пока концепции лучше в голову не приходит. Также нужен планировщик задач. Стоит ли его писать с нуля или срать в планировщик, который встроен в систему? С учетом того, что задач может быть неимоверно много? Если самому писать, то дайте ссылочки почитать, а то я вообще слабо представляю, как это реализовать.

Ноут
Думаю купить себе новый ноутбук, но так чтобы с шлинуксом, а то заебался пидориться под виртуалками, ибо текущий ноутбук оч хуево работает с Linux.
Кинцо иногда смотрю, код пишу, иногда в Halo CE гоняю.
Чего посоветуете?
#18 #472629
>>472585
Что за хуйнёй ты занимаешься? Полезай уже в дизассемблер или бенчмарки.
#19 #472631
>>472628

> Если кому надо - скину.


Кидай.

> Все ебусь со своими горшками


Что за горшки ещё?
#20 #472632
внутри экземпляра класса методы могут создавать объекты типа std::queue, их точное число неизвестно, но необходимо, чтобы деструктор экземпляра убрал и очереди, прога пишется на qt.
как это реализовать?
возможно ли реализовать задачу сложнее: деструктор удалит только те очереди, но которые нет внешних указателей?
#21 #472634
>>472631

>Что за горшки ещё?


Сейчас типа модно выращивать всякую залупу в домашних условиях. Я посмотрел готовые реализации, но везде либо промышленный уровень, либо унылый горшок с датчиком влажности.

Я же хочу заебашить модульную систему (чтобы петрушку выращивать, кек). Механическую часть я пока что забросил и пытаюсь запилить софт.

В частности сейчас пытаюсь придумать смеху, которая позволит задать скрипт выращивания какого-либо растения. С этим и проблема.

>Кидай.


К вечеру постараюсь.
sage #22 #472675
>>472632

>необходимо, чтобы деструктор экземпляра убрал и очереди


Определяешь деструктор, в нем удаляешь очереди, если они у тебя создаются в куче.

>деструктор удалит только те очереди, но которые нет внешних указателей?


Ебал ее рука. Ты чурка что ли?
#23 #472676
>>472632
Если у тебя не указатель на очередь, то деструктор сам уничтожит очереди.

> деструктор удалит только те очереди, но которые нет внешних указателей?


std shared_ptr
Читай про RAII.
#24 #472681
>>472676
у меня конечно же указатели,
мне не хочется создавать лишнюю нагрузку потребителям класса
#25 #472683
>>472681

> И рыбку съесть и на хуй не сесть


Хуй знает даже, что за чудной архитектурный финт тебе нужен.
#26 #472686
>>472173
Сиплюсплюсаны поясните вот учился я программировать на Visual Studio, но тут услышал о Qt и только о нем в принципе и говорят когда подразумевают С++. Что это за IDE? Visual Studio вообще не актуальна в плане программирования на плюсах?
#27 #472687
>>472686
Qt – не IDE, а фреймворк.
Студия актуальна при изготовлении спермоподелий и птушных лаб.
Толсто.
124 Кб, 1280x956
#28 #472689
>>472631

>Кидай.


Вот тут кратенький конспект семинара (самое интересное).

Идеальные месяца для поиска работы:
Ноябрь, Декабрь, Январь - хорошо.
Апрель - плохо.
Май - ниче так.

Что нужно указать в резюме:
Контактная информация
Цель
Год окончания вуза
Курсы если есть
Не нужно лишней информации
Опыт работы (дата, название компании, должность, основные обязанности, достижение)
Ключевые навыки и компетенции (может быть некоторые мелочи)
Сопроводительное письмо (6-7 предложений) в деловом стиле

Пример сопроводительного письма
Здрасьте. Я такой-то такой-то хочу туда-то туда-то, хочу работать на такой-то вакансии потому что я хочу принести пользу компании и я очень хороший и т.д.

>Фото не стоит прикреплять.



Собеседование:
Норм выглядеть.
Вежливость и пунктуальность. (Если опаздываешь - предупреди) (приходить за 10-15 минут).
Позитивный настрой и уверенность к себе.
Глубже:
Понимать мотивацию
Отвечать конкретно, но не односложно
Умение выстроить диалог
Соответствие корпоративной культуре
Не усложнять себе задачу
Не стоит врать, но можно переформулировать или умолчать
Задавать правильные вопросы (полезно спрашивать что-нибудь о компании (но не о еде...) 2-3 вопроса (перспективы развития...)
О недостатках подумать. Оборачивать либо в достоинства, либо в работу над собой.
124 Кб, 1280x956
#28 #472689
>>472631

>Кидай.


Вот тут кратенький конспект семинара (самое интересное).

Идеальные месяца для поиска работы:
Ноябрь, Декабрь, Январь - хорошо.
Апрель - плохо.
Май - ниче так.

Что нужно указать в резюме:
Контактная информация
Цель
Год окончания вуза
Курсы если есть
Не нужно лишней информации
Опыт работы (дата, название компании, должность, основные обязанности, достижение)
Ключевые навыки и компетенции (может быть некоторые мелочи)
Сопроводительное письмо (6-7 предложений) в деловом стиле

Пример сопроводительного письма
Здрасьте. Я такой-то такой-то хочу туда-то туда-то, хочу работать на такой-то вакансии потому что я хочу принести пользу компании и я очень хороший и т.д.

>Фото не стоит прикреплять.



Собеседование:
Норм выглядеть.
Вежливость и пунктуальность. (Если опаздываешь - предупреди) (приходить за 10-15 минут).
Позитивный настрой и уверенность к себе.
Глубже:
Понимать мотивацию
Отвечать конкретно, но не односложно
Умение выстроить диалог
Соответствие корпоративной культуре
Не усложнять себе задачу
Не стоит врать, но можно переформулировать или умолчать
Задавать правильные вопросы (полезно спрашивать что-нибудь о компании (но не о еде...) 2-3 вопроса (перспективы развития...)
О недостатках подумать. Оборачивать либо в достоинства, либо в работу над собой.
#29 #472697
>>472689
Интересно, почему именно такие месяцы? Зимой у эйчаров настроение лучше?
#30 #472699
>>472697
Сессия, призыв, малый процент отпусков. У некоторых фирм есть план наборов. В общем, HR сказала, что в эти месяца меньше всего откликов, но это вовсе не значит, что и вакансии есть. Претендентов мало, а вакансии уже могут быть закрытыми.
#31 #472700
>>472687
а вот какую IDE выбрать что бы считали нормальным поцаном?
#32 #472704
>>472700
Которая понравится.
CLion, Qt Creator, Visual Studio + VAX/ReSharper
sage #33 #472706
>>472700
Borland C++ Builder 6.
#34 #472713
template <class T> class A<T>
{
//
};
template <class T> class B<T>:public virtual A<T>
{
//
};

class C:public B<int>
{
//ничего нет, кроме конструктора
}

при попытке экземпляра С вызвать метод из B выскакивает undefined reference to любой_метод_из_В, говнорешение таково: добавить в хэдер B строку template class B<int>;
но мне кажется, что инстанцирование B уже происходит при декларировании C, в чем проблема?
#35 #472715
>>472713
Все определения в одном файле?
#36 #472716
>>472715
в смысле?
А и В разнесены по header/source
С объявляется в main.cpp перед точкой входа
#38 #472720
>>472716
Класс С при своей компиляции должен видеть все шаблоны реализации. Реализация всех шаблонных методов класса В должна быть расположена в хедере класа В (а не в файле реализации) и включена в код класса С. Ну или делать так как ты делаешь, с декларированием конкретного варианта шаблона.
#39 #472723
>>472718
понятно, но нарушает гармонию в моей голове
#40 #472726
>>472723
Пиздец, выкинь уже розовые очки, чудес в погроммировании не бывает.
#41 #472735
>>472713
еще вопрос в этом контексте:
B декларирует метод foo(), реализация которого зависит от параметра шаблона, foo() - приватный метод, используемый методами B, в том числе и конструктором,
если явно инстанцировать
template <> B<int>::foo()
{
//
}
где-нибудь до декларирования класса С, проблем не возникает,
но хочется инстанцировать foo() как метод С, в интересах инкапсуляции, но компилятор не дает, так как undefined reference to B<int>::foo(); in method B<int>::boo();
#42 #472740
>>472735
>>472735
я пробовал декларировать virtual foo();
а затем определять их в C
ничего не получается, два раза выскакивает ошибка undefined reference to B<int>::foo() in main.o
а потом такая строка:
collect 2 error: ld returned 1 exit status
#43 #472742
>>472740
Скинь внятный набросок, где и что ты там определил.
#44 #472744
>>472742
template <class T> class A
{
//
};

template <class T> class B: public virtual A<T>
{
virtual foo();
};

class C:B<int>
{
foo()
{
//
}
};
#45 #472746
Будет ли такое решение переносимо? (наверное, нет)
[code lang="cpp"]
union
{
\tint i;
\tlong l;
\tfloat f;
} v;
[/code]
Алсо, где можно найти инфы про рекурсивные структуры в C++?
#46 #472747
>>472744
protected?
#47 #472764
>>472747
сделал foo() и все наследования public, пробовал с virtual и без:
без изменений
#48 #472799
Как мне с помощью Boost сгенерировать функцию, которая будет принимать от 1 до 10 аргументов? Пишу обёртку для luabind::call_function.
#49 #472829
>>472799
google://variadic+function
Буст не нужон
#50 #472830
>>472829
Как мне через эту штуку передать int, std::string и Ogre::SceneNode за 1 раз?
#51 #472831
>>472830
google://variadic+template
Буст не нужон
#52 #472832
>>472830
Используй няшные одиннадцатые. Держи ссылку на хабропарашу:
http://habrahabr.ru/post/101430/
#53 #472833
>>472831
>>472832
Ого, нихуя себе. А зачем luabind использует буст? Встроенные средства же проще.
#54 #472835
>>472833
Скорее всего, потому что эти фичи относительно новенькие.
#55 #472861
почему в предке-шаблоне я могу опускать this, то есть, писать foo() вместо this->foo(),
а в потомке-шаблоне - можно только явно this->foo(), в противном случае
error: there are no arguments to 'foo' that depend on a template parameter, so a declaration of 'foo' must be available [-fpermissive]
foo()
^
#56 #472960
объясните, в чем логика такого запрета:

class A
{
protected:
int a;
A next;
public:
A
getNext()
{return next;}
//
};

class B:public virtual A
{
void foo()
{
//
B ptrB=new B;
//
B->getNext()->a=1;//бля, ошибка, базовый класс не может обратиться к собственному полю
dynamic_cast<B
>(B->getNext())->a=1;//ok
//}
//
};
#57 #472961
>>472960
в 2х последних строках кода ptrB вместо В, конечно же.
#58 #472985
>>472961
Какую ошибку даёт?
#59 #472990
>>472746
Я почему спрашиваю-то
[code lang="cpp"]
union ValueHolder {
LargestInt int_;
LargestUInt uint_;
double real_;
bool bool_;
char string_; // actually ptr to unsigned, followed by str, unless !allocated_
ObjectValues
map_;
} value_;
[/code]
Код отсюда
https://github.com/open-source-parsers/jsoncpp/blob/master/include/json/value.h
#60 #472995
>>472985
int a is protected
#61 #473006
>>472990
Видел подобные конструкции в OpenCV, портировалось на разные платформы, проблем не было.
#62 #473037
template <class T> class A
{A next;
A
getNext()
{return next;}
};
template <class T> class B:virtual public A<T>;
{
B(x)
{
this->next=new B();
}

};
template <class T> class C:virtual public A<T>;
//
class D:public B<int>, public C<int>
{ D(x):B(x),C()
{
//
}
}

D d=new D();
D
dNext=dynamic_cast<D>(d->getNext());
C
cNext=dymamic_cast<C*>(d->getNext());

в результате выполнения этого кода dNext==NULL && cNext==NULL

хочется, чтобы внутри конструктора B(x) генерировался объект типа D

выгорит ли замена B на
template <class T, class Derived> class B
{
B(x)
{
this->next = new Derived;
}
//
};

class D:public B<int,D>, public C<int>;

эти изменения позволят получить верные dNext и cNext или нет?
#62 #473037
template <class T> class A
{A next;
A
getNext()
{return next;}
};
template <class T> class B:virtual public A<T>;
{
B(x)
{
this->next=new B();
}

};
template <class T> class C:virtual public A<T>;
//
class D:public B<int>, public C<int>
{ D(x):B(x),C()
{
//
}
}

D d=new D();
D
dNext=dynamic_cast<D>(d->getNext());
C
cNext=dymamic_cast<C*>(d->getNext());

в результате выполнения этого кода dNext==NULL && cNext==NULL

хочется, чтобы внутри конструктора B(x) генерировался объект типа D

выгорит ли замена B на
template <class T, class Derived> class B
{
B(x)
{
this->next = new Derived;
}
//
};

class D:public B<int,D>, public C<int>;

эти изменения позволят получить верные dNext и cNext или нет?
#63 #473086
А норм, если я пишу реализацию методов в заголовочном классе? Меня не обосрут, когда я диплом показывать буду?
#64 #473112
>>473086
Обосрут, как ебаную принцесску.
#65 #473130
https://ideone.com/xulXTP
Помогите переписать НОРМАЛЬНО 25 строчку (я сам себя за нее уже побил, не переживайте)
#66 #473135
>>473130
tmp[r][c] += (this)[r].at(n) second[n].at(c);
#67 #473136
>>473135

> (@this)

#68 #473139
Как лямбдой заполнить вектор константным знаением, через for_each ?
#69 #473143
>>473139
std::for_each(nums.begin(), nums.end(), [](int &n){ n = constanta; });
#70 #473214
template <class A, class B> class C
{
foo();
}

//нужен инстант foo, универсальный для любого B, но специфичный по A, то есть что-то вроде
template <class B> C<int,B>::foo()
{
//
}

компилятор говорит invalid use of incomplete type C<int,B>
#71 #473226
есть ли в моем любимом кьюте такой стандартный шаблон?

template <class Source, class Dest> transformSourceIntoDest(Source a, Dest &b);

то есть, чтобы все эти ваши atoi, ::toInt, и т.д. были в одном месте
#72 #473253
>>473214
google://partial+template+specialization
>>473226
Сейчас баттхертнутая Qt-мразь с сажей появится и будет оправдываться
#73 #473283
Анон, помоги дауну с курсовой.
Как в бинарник записать вектор объектов класса, а потом считать обратно в тот же вектор?
#74 #473286
>>473283
Писать вручную сериализацию/десериализацию. Ведь автоматическую как в джяве не завезли.
#75 #473288
>>473286
А если подробнее? Я ведь даун.
#76 #473293
>>473288
Вручную записывать и читать все поля объектов
sage #77 #473295
>>473226
>>473253
в каком фрейворке это вообще есть?
по логике, давно пора на уровне стандарта необходимо ввести каст, хотя бы для стандартных типов
#78 #473348

>установил CLion


>прописал ему адрес до мингв, говорит что всё збс


>не может стандартный хелловорлд, выдавая какую-то хуйню в виде ошибок


ЯСНО
#79 #473350
>>473348
не может скомпилировать офк
быстрофикс
#80 #473358
>>473295

> в каком фрейворке это вообще есть?


В boost есть, хотел тебя лишний раз унизить, вот и позвал. Называется boost::lexical_cast

> по логике, давно пора на уровне стандарта необходимо ввести каст, хотя бы для стандартных типов


Что ты несёшь вообще? Введены касты для всех стандартных типов, когда безопасно можно выполнить, компилятор сам это делает, когда небезопасно, нужно ему подсказать, что мол ты понимаешь, что делаешь.

Ах, эти Qt-мрази, Qt-мрази.
#81 #473359
>>473358

>Ах, эти Qt-мрази, Qt-мрази.


Qt начал свою историю тогда, когда шаблоны по стандарту были во влажных мечтах пердоликов
#82 #473360
>>473358

>Что ты несёшь вообще? Введены касты для всех стандартных типов, когда безопасно можно выполнить, компилятор сам это делает, когда небезопасно, нужно ему подсказать, что мол ты понимаешь, что делаешь.


В смысле? Без буста стандартными способами нельзя делать std::string в числа и обратно (ну еще можно писать свои костыли со всякими ссстримами или другим говном), почему - непонятно.
#83 #473362
>>473359
Ну, что поделать, пришло время сбросить эту ебоду с корабля современности. Не первая говнина почила в бозе, не последняя. А Qt-мразей перевоспитаем в шарпогоспод блягородных.
>>473360

> почему - непонятно


Потому, что создаёт затык по скорости. Потому, что не очевидны правила преобразования. Это совершенно небезопасный каст. Если тебе надо просто как-нибудь что-нибудь выводить, то пользуйся логгером. Обычно ещё и быстро очень получится, они асинхронные. Они умеют просто что-нибудь как-нибудь куда-нибудь выводить. Если нужен не лог, а продуманное решение по работе со строками — ебись.
#84 #473365
>>473362

>Потому, что создаёт затык по скорости.


Возможно, но не аргумент.

>Потому, что не очевидны правила преобразования.


Что именно неочевидно?

>Это совершенно небезопасный каст.


Напомни, пожалуйста, когда С++ стал безопасным языком.
И да, почему тогда в большинстве других современных языков эти все преобразования есть?
#85 #473373
>>473365

> Что именно неочевидно?


Правила преобразования. Они не инваринтны в терминах культуры. Особенно это касается зоопарка плавучек.

> Напомни, пожалуйста, когда С++ стал безопасным языком.


Ты что имеешь в виду вообще? Я нихуя не понимаю. Все имплиситные касты безопасны.
sage #86 #473384
о чем это говорит, если qt creator во время дебага постоянно останавливается в одном месте, где нет брейкпойта?
sage #87 #473387
о чем это говорит, если qt creator во время дебага постоянно останавливается в одном месте, где нет брейкпойта?
#88 #473389
>>473384
О том, что пора выкинуть эту говнину вместе с ублюдочным поделием, которое ты называешь qt creator
sage #89 #473394
>>473358
Чепушок, а чепушок, почему я тебе уже везде мерещусь? Тот пост не мой. Чем я тебя так обидел?
#90 #473408
Когда в ёбанной спермостудии будет поддержка хотя бы 11-го стандарта?
#91 #473412
Поискал Ruby на HH.ru. 123 вакансии. С явными джуновскими требованиями всего 2-3 штуки.
Поискал Java на HH.ru. 810 вакансий. С явными джуновскими требованиям уже 45 штук.
Поискал C++ на HH.ru. 564 вакансий. С явным джуновскими требованиями всего 37 штук.

Сука, как-то очень грустно.
#92 #473416
>>473408
А чё те надо?
#93 #473420
Есть простые способы конкатировать STL векторы?
#94 #473421
>>473416
С++11
#95 #473422
>>473384
о том что чтото глюкнуло и у тебя остаются старые базы отладочных символов, при сеансе отладки они подхватываются, но исполняемый код уже другой
#96 #473423
>>473421
auto есть, лямбды есть - чё те надо-то?
53 Кб, 604x604
#97 #473424
Поканы, ответьте на вопрос, я тут почитываю книжку по С++ и у меня возник вопрос. Вообщем там обьъясняется как использовать new и delete. Автор создает указатель *p, потом пишет p=new int. Так вот вопрос, это вообще обязательно? Я знаю, что для массивов обязательно, а если ты просто в указатель одно число помещаешь? Объясните ньюфагу, желательно как для дебилов.
sage #98 #473425
>>473424
Обязательно.
#99 #473426
>>473425
Почему?
#100 #473427
>>473424
Если ты хочешь число в хипе (куче) расположить то обязательно, по другому нельзя (ну там через аналоги new типа malloc, но это считай одно и тоже).
sage #101 #473430
>>473350

> не может скомпилировать helloworld


> виновата IDE


> пришел в /зк/


> да, я зашел туда

#102 #473435
>>473430
Эм, блядь, назови хоть еще одну IDE, которая сразу после установки и объявления о том, что она нашла всё, что ей нужно (а именно работающий компилятор) не может нихуя скомпилировать.
sage #103 #473438
>>473426
Учебник почитай, там все написано.
sage #104 #473440
>>473348

>выдавая какую-то хуйню в виде ошибок


Защита от даунов, не читающих сообщения об ошибках.
#105 #473444
>>473427
А ты тут тогда зачем?
#106 #473445
>>473438

>А ты тут тогда зачем?


фикс
#107 #473448
>>473424
краткий FAQ по указателям
http://ideone.com/J2Rmak
sage #108 #473450
>>473445
Чтобы отправить тебя читать учебник.
#109 #473489
>>473423
union-ы по с++11, дефолтные параметры в шаблонных функция и вообще весь с++11 полноценный
#110 #473518
>>473435
Ты стандартные хедеры поставил? Пути настроил?
sage #111 #473531
>>473489
Щас батхертнутый спермодебил начнет кукарекать что нинужно.
#112 #473561
>>473489
К двадцатому году дождёмся. К тридцатому будет во всю использовать C++17.
#113 #473643
проблема:

class A

{
foo()
{

delete this;
}
}

int main()
{
A звездочка_a=new A;
a->foo();//объекта больше нет, а указатель не обнулился
}
#114 #473648
>>473643
Что это за говно такое?
delete this?
Нахуй так делать?
42 Кб, 547x360
#115 #473654
привет крестоблядки
#116 #473661
>>473648
это упрощенный пример, у меня полторы тысячи строк, и мне любой ценой нужно, чтобы указатель при вызове foo обнулялся, как угодно
#117 #473665
>>473643

> а указатель не обнулился


А он и не должен обнулятся. Голый указатель никогда не обнулится.
#118 #473669
>>473665
нельзя ли как-нибудь бросить исключение, вернуться в main и произвести a=NULL;
#119 #473672
может ли foo вернуть деструктор в качестве возвращаемого значения?
#120 #473683
пока что костыль - передавать в foo указатель нa a и внутри foo его обнулять
#121 #473705
>>473683
Хуевый, очень хуевый костыль.

Есть одно прекрасное правило - "ресурсы должны освобождаться в том же месте, в котором они выделяются". Это помогает избежать кучи проблем в крестах и системном windows программировании.

В данном случае освобождать объект требуется в main - там же где этот объект создается. Можешь мне не верить и пытаться изобретать велосипед, но потом ты поймешь, что я был прав. Но когда наступит это потом - будет уже слишко поздно.

Формально в академических целях ты можешь написать "delete this", но по факту за такой код любой ТЛ тебе отрежет руки.
#122 #473738
>>473705
А за new на shared_ptr отрывают?
#123 #473744
>>473738
Нет. Нормальная практика. Не везде есть make_shared
27 Кб, 400x401
#124 #473757
>>473744

>Нормальная крестопараша

#125 #473797
>>473661
Хуй знает, говно какое-то. delete не обнуляет указатель.
#126 #473812
>>473738
make_shared позволяет обойтись одной аллокацией.
sage #127 #473815
>>473797
А с чего ты решил, что он должен?
#128 #473833
>>473815
Я и не решал/думал, а код говно всё-таки.
#129 #473885
бяда!
обновил ядро бубунты, теперь gdb сжирает всю память и уходит в отвал, как отлаживать без него?
#130 #473913
Что скажете про sync_with_stdio(false)? Оно только с вводом или и с выводом работает? А с файлами так можно?
18 Кб, 226x213
#131 #473928
>>473913
С файлами нельзя.
#132 #473959
>>473928
Тогда как ускорить ввод/вывод с файлами?
#133 #473998
>>473959
std::fstream итак достаточно быстрый.
#134 #474122
>>473913

>Что скажете про sync_with_stdio(false)?


Скажу, что очень хорошо, если стандарты кода в проекте запрещают сишный I/O и разрешают только iostream.

>Оно только с вводом или и с выводом работает?


Только со стандартными потоками ввода/вывода.

>А с файлами так можно?


Грубо, на каждый файл свой поток, синхронизацию чего с чем ты отключать собрался?

>>473959

>Тогда как ускорить ввод/вывод с файлами?


Отключить буферизацию потока.

#include <fstream>

std::ifstream fs;
fs.rdbuf()->pubsetbuf(0, 0);

//fs.open(...);
//...
//fs.close();

Кроме того,

If setbuf(0,0) is called on a stream before any I/O has occurred on that stream, the stream becomes unbuffered.

>Note that some compilers (eg. gcc) see opening a file as an I/O operation on the stream, so pubsetbuf should be called before opening the file (as above).

#134 #474122
>>473913

>Что скажете про sync_with_stdio(false)?


Скажу, что очень хорошо, если стандарты кода в проекте запрещают сишный I/O и разрешают только iostream.

>Оно только с вводом или и с выводом работает?


Только со стандартными потоками ввода/вывода.

>А с файлами так можно?


Грубо, на каждый файл свой поток, синхронизацию чего с чем ты отключать собрался?

>>473959

>Тогда как ускорить ввод/вывод с файлами?


Отключить буферизацию потока.

#include <fstream>

std::ifstream fs;
fs.rdbuf()->pubsetbuf(0, 0);

//fs.open(...);
//...
//fs.close();

Кроме того,

If setbuf(0,0) is called on a stream before any I/O has occurred on that stream, the stream becomes unbuffered.

>Note that some compilers (eg. gcc) see opening a file as an I/O operation on the stream, so pubsetbuf should be called before opening the file (as above).

sage #135 #474228
>>473998
Нет. fstream никогда нельзя использовать с большими файлами. Когда читаешь что-либо больше мегабайта, надо использовать только сишные потоки и scanf.
#136 #474307
>>474228
С чего это вдруг? Обосновать можешь?
sage #137 #474312
>>474307
Щас он тебе обоснует, ага. На СО не обосновали, а петух с сосача обоснует.
Рекурсивный деструктор #138 #474368
Есть некий лабиринт из комнат. Каждая комната содержит указатели на соседние комнаты. Примерно так:
[code lang="cpp]
class Room
{
private:
Room mNorthRoom;
Room
mWestRoom;
Room mEastRoom;
Room
mSouthRoom;
...
[/code]

Класс лабиринта не хранит всё дерево комнат, а хранит лишь указатель на текущую комнату. Соответственно, деструктор лабиринта просто вызывает деструктор текущей комнаты, а она уже в свою очередь рекурсивно удалит все остальные.

Но! Текущая комната в mNorthRoom ссылается на северную, а северная через mSouthRoom - на текущую. В результате при вызове деструктора программа уходит в бесконечную рекурсию.

Пробовал включать в класс комнаты флаг "удалено", но не сильно помогло, на некоторых моментах всё равно в бесконечную рекурсию уходит. Может быть, само архитектурное решение неидеально?
#139 #474371
>>474368
unique_ptr
#140 #474373
>>474371
Слишком медленный.
#141 #474375
Поцаны, собралась пара вопросов:

1. Как каноничней будет? Какие за и против?
if (govno) {
do shit
}
else {
do shit
}

или
if (govno)
{
do shit
}
else
{
do shit
}

2. У меня есть лаба, нужно найти найбольший элемент в матрице, помогите, не знаю с чего начать.

3. Хочу сделать псевдографический интерфейс к прожке как в ncurses. Хочу сделать на чистых крестах, в какую сторону копать?

4. Алсо, поясните за qt? Как технология, долго ли будет актуальна?

[code]
нассал опа маме в рот, пиздуй в свой бложик, будет он тут ещё
решать что на анонимной борде можно обсуждать а что нет
[/code]
#141 #474375
Поцаны, собралась пара вопросов:

1. Как каноничней будет? Какие за и против?
if (govno) {
do shit
}
else {
do shit
}

или
if (govno)
{
do shit
}
else
{
do shit
}

2. У меня есть лаба, нужно найти найбольший элемент в матрице, помогите, не знаю с чего начать.

3. Хочу сделать псевдографический интерфейс к прожке как в ncurses. Хочу сделать на чистых крестах, в какую сторону копать?

4. Алсо, поясните за qt? Как технология, долго ли будет актуальна?

[code]
нассал опа маме в рот, пиздуй в свой бложик, будет он тут ещё
решать что на анонимной борде можно обсуждать а что нет
[/code]
#142 #474376
>>474373
Ясно
#143 #474378
>>474375

> 1. Как каноничней будет? Какие за и против?


if (govno) {
...
} else {
...
}
Единственно правильный вариант
#144 #474379
>>474368
Перед удалением комнаты заходи в соседние и зануляй ссылки на удаляемую комнату.
Если лабиринт прямоугольный (прямоугольные комнаты, у каждой по 4 соседа) есть вариант не хранить всех четырех соседов в каждой комнате, а только 2 (северного и восточного например), тогда у тебя не будет перекрестных ссылок. Правда к твоей проблеме это отношения не имеет, при удалении комнаты все равно нужно удалять ссылки на нее везде, иначе словишь сегфолт.
sage #145 #474381
>>474379

>есть вариант


Не это я что-то прогнал, не обращай внимания на 2 предложение.
#146 #474382
>>474379

>Перед удалением комнаты заходи в соседние и зануляй ссылки на удаляемую комнату.


Слушай, а ведь великолепная идея. Спасибо большое.
sage #147 #474424
>>474373
Сука, что же ты делаешь, я чуть не обосрался от смеха.
sage #148 #474426
>>474375

>1. Как каноничней будет? Какие за и против?


Как тебе приятнее, так и делай. Главное — постоянство. Если взял один стиль, всегда ему следуй. Естественно не стоит уходить в крайности и делать 15 пробелов между скобками. Читабельность всегда должна быть в приоритете.
>>474378
Нахуй — твое единственно правильное направление движения.
#149 #474506
прыщавая кьютимразь итт.
итак, моя программа с кучей классов проходит дымовые тесты, но у меня есть гнетущие подозрения, что где-то я не подчищаю память.
большие объекты я удаляю основательно, но где-нибудь какая-нибудь микрозалупа доползает до точки выхода, а матушка учила меня всегда смывать самому
есть ли удобные программные средства, которые позволят отследить такое непотребство?
sage #150 #474508
>>474506
Valgrind.
#151 #474529
>>474375
Пришёл с ебанутыми вопросами и ещё шапку осуждает, охуевший птушник, блядь.
#152 #474697
>>474122
Можешь с файлами помочь разобраться? Есть хорошие статьи на русском как с ними быстро в с++ работать и описаны подводные камни? Подсмотрел в чужом решении и начал писать так.
#include<fstream>
std::ofstream fout("out.txt");
int main (){fout<<"out\n";}
Стоит для ввода и вывода делать разные потоки? Их лучше в глобальной области видимости объявлять в main или отдельной процедурой? Не использую open() close() и getline() а пишу << и >> это сильно влияет на скорость работы и почему у меня без них всё работает? Что за буфер и для чего он? У тебя pubsetbuf(0, 0) один 0 это размер а второй что? Должен быть указатель на массив char? Находил какой-то stringstream он для строк работает быстрее обычного ввода/вывода? А его как-то можно ускорить? Есть его аналоги для для других стандартных типов? Может есть какой-то справочник где все ответы на мои вопросы по порядку написаны и не нужно переключатся по ссылкам от одного незнакомого оператора к другому?
#153 #474716
>>473744
Я имел ввиду new shared_ptr< Type > (...);
#154 #474729
Товарищи программисты. Я может не туда зашел и к c++ это имеет посредственное отношение, но все же, как тот же apache блокирует попытки доступиться к файловой системе компьютера? Можно пользоваться chroot, но там надо ябаться с окружением. Вот он же запускает те же скрипты, которые могут быть чем угодно.
Короче, как они там, ставят минимальное окружение или чего?
#155 #474732
>>472173
хай
поясните плес, какие профиты от изучения крестов? для непрограммиста?
#156 #474733
>>474732
Мясо ел?
#157 #474734
>>474426

> кукареку кудах


Что простите?
#158 #474735
>>474733
шта
сегодня курицу ел
#159 #474759
>>474697
Ввод/вывод в стиле С с файлами работает быстрее? В K&R седьмую главу посмотрел и там про скорость ничего не написано как и про буфер. Буфер нужен чтобы 1 раз обратится к диску а потом всё время обращаться к памяти? Тогда почему его отключение ускоряет работу программы? Не могу нагуглить книгу по оптимизации программ на С++ Можешь подсказать такую?
#160 #474775
>>474734
Ничего не простим. Отправляйся обратно в /б/
#161 #474780
>>474697

>Стоит для ввода и вывода делать разные потоки?


Если ты пишешь/читаешь файл поочерёдно много раз, то нет, стоит создать std::fstream fs;

Если ты например сначала читаешь из файла, а потом пишешь в него же, больше не читая ни разу, то здесь чисто в целях избежания ошибок я бы создал сначала std::ifstream ifs; а после закрытия файла на чтение создал бы std::ofstream ofs; во избежание потенциальных ошибок.

Что там будет с быстродействием я без понятия. Насколько дорого конструировать поток я тоже не знаю. Читал только только, что открытие файла дорогая операция.

>Их лучше в глобальной области видимости объявлять в main или отдельной процедурой?


Ну очевидно зависит от ситуации.

>Не использую open() close() и getline() а пишу << и >> это сильно влияет на скорость работы и почему у меня без них всё работает?


open() и close() нужны для для открытия/закрытия файлов в одном и том же потоке. Удобно, когда подряд читаешь или пишешь несколько файлов один строго перед другим. Такая нано-оптимизация, чтобы не конструировать объект потока. Опять повторюсь, что не знаю, насколько дорого конструировать.

По поводу скорости работы -- я использую низкоуровневые функции .read() и .write(), они самые быстрые, если их правильно готовить. Если отключаешь буфер, то пиши данные блоками в цикле по 4 мегабайта, например.

Вообще, тут вступает ОС-специфичное поведение. Выше там кто-то безосновательно говорит не больше мегабайта. Ну можешь помегабайтно писать. Для чтения рассуждения, полагаю, аналогичны.

>У тебя pubsetbuf(0, 0) один 0 это размер а второй что? Должен быть указатель на массив char?


Быстро, решительно: http://www.cplusplus.com/reference/streambuf/streambuf/pubsetbuf/

Как нетрудно догадаться, pubsetbuf(0, 0) вместо указателя на массив и размера даёт отключение буферизации потока.

>Находил какой-то stringstream он для строк работает быстрее обычного ввода/вывода?


Нет, существенно медленнее. Это создано для удобства. Вообще, стандартная билиотека во многом создана для удобства.
http://habrahabr.ru/post/246257/

>А его как-то можно ускорить?


Там же пишется о том, что дорого конструировать объект типа, лучше переиспользовать. Тогда в несколько раз выиграешь в скорости.

>Есть его аналоги для для других стандартных типов?


Аналог медленного говна, зачем тебе? Используй reinterpret_cast для указателей (правильно высчитывай размеры массивов при этом).

>Может есть какой-то справочник где все ответы на мои вопросы по порядку написаны и не нужно переключатся по ссылкам от одного незнакомого оператора к другому?


Нормальных книжек по программированию не существует.
#161 #474780
>>474697

>Стоит для ввода и вывода делать разные потоки?


Если ты пишешь/читаешь файл поочерёдно много раз, то нет, стоит создать std::fstream fs;

Если ты например сначала читаешь из файла, а потом пишешь в него же, больше не читая ни разу, то здесь чисто в целях избежания ошибок я бы создал сначала std::ifstream ifs; а после закрытия файла на чтение создал бы std::ofstream ofs; во избежание потенциальных ошибок.

Что там будет с быстродействием я без понятия. Насколько дорого конструировать поток я тоже не знаю. Читал только только, что открытие файла дорогая операция.

>Их лучше в глобальной области видимости объявлять в main или отдельной процедурой?


Ну очевидно зависит от ситуации.

>Не использую open() close() и getline() а пишу << и >> это сильно влияет на скорость работы и почему у меня без них всё работает?


open() и close() нужны для для открытия/закрытия файлов в одном и том же потоке. Удобно, когда подряд читаешь или пишешь несколько файлов один строго перед другим. Такая нано-оптимизация, чтобы не конструировать объект потока. Опять повторюсь, что не знаю, насколько дорого конструировать.

По поводу скорости работы -- я использую низкоуровневые функции .read() и .write(), они самые быстрые, если их правильно готовить. Если отключаешь буфер, то пиши данные блоками в цикле по 4 мегабайта, например.

Вообще, тут вступает ОС-специфичное поведение. Выше там кто-то безосновательно говорит не больше мегабайта. Ну можешь помегабайтно писать. Для чтения рассуждения, полагаю, аналогичны.

>У тебя pubsetbuf(0, 0) один 0 это размер а второй что? Должен быть указатель на массив char?


Быстро, решительно: http://www.cplusplus.com/reference/streambuf/streambuf/pubsetbuf/

Как нетрудно догадаться, pubsetbuf(0, 0) вместо указателя на массив и размера даёт отключение буферизации потока.

>Находил какой-то stringstream он для строк работает быстрее обычного ввода/вывода?


Нет, существенно медленнее. Это создано для удобства. Вообще, стандартная билиотека во многом создана для удобства.
http://habrahabr.ru/post/246257/

>А его как-то можно ускорить?


Там же пишется о том, что дорого конструировать объект типа, лучше переиспользовать. Тогда в несколько раз выиграешь в скорости.

>Есть его аналоги для для других стандартных типов?


Аналог медленного говна, зачем тебе? Используй reinterpret_cast для указателей (правильно высчитывай размеры массивов при этом).

>Может есть какой-то справочник где все ответы на мои вопросы по порядку написаны и не нужно переключатся по ссылкам от одного незнакомого оператора к другому?


Нормальных книжек по программированию не существует.
#162 #474781
>>474759

>Ввод/вывод в стиле С с файлами работает быстрее?


Пока не померяешь, не узнаешь. С грамотным использованием .read() .write() точно не проиграешь.

>В K&R седьмую главу посмотрел и там про скорость ничего не написано как и про буфер. Буфер нужен чтобы 1 раз обратится к диску а потом всё время обращаться к памяти?


Буфер нужен, чтобы если ты читаешь больше, чем операционная система может записать/прочесть за раз, не случилось чего нехорошего. Я так понимаю, зачем нужен буфер. Но я самый умный и отключаю его, записывая через цикл куски, априори меньшие этого значения. Получается всё равно быстрее, причём намного. Есть подозрения, что винда говно. Ну и ладно, всё равно мой вариант быстро работает.

>Не могу нагуглить книгу по оптимизации программ на С++ Можешь подсказать такую?


Опытные люди (практики, а не диванные олимпиадники и прочие функциональщики) советуют Скотта Майерса с его 35 или 42 советами. Сам не читал, потому что ленивый пень, но собираюсь.
#163 #474785
Есть ИТТ годный и добрый человек или люди, которые смогли бы давать новичку подсказки, советы и объяснять непонятные ситуации по
1) PHP и программирование сайтов
2) С++/Qt
чтобы не тревожить каждый раз форумы и stackoverflow? Естественно, обращаться буду только тогда, когда не смогу нагуглить ответ сам.
#164 #474786
>>474785
Ответы на почти все твои вопросы уже есть на форумах и stackoverflow. Годный и добрый человек не нужен, на всех не напасёшься.
#165 #474788
>>474786
Я просто спросил, если ты к ним не относишься - окей, не говори за всех. В свое время я нашел такого годного человека по верстке и сам был таким в вещах, не связанных с программированием.
sage #166 #474791
>>474785
По пыхе не могу, по крестам/кьюту что-нибудь могу подсказать (кроме opengl, с ним не работал).
#167 #474796
>>474791
Спасибо. Оставишь фейкомыло или вк?
sage #168 #474803
>>474796
Оставляй ты.
#169 #474805
>>474803
id196140470
Если будет желание, можем потом перекатиться в скайп или куда захочешь.
#170 #474815
>>474780
Спасибо. Помог.
#171 #474865
>>474805
Закинь потом id-шник Qt-мрази, интересно на его прыщавое ебало посмотреть
sage #172 #474872
>>474865
Обойдешься, дебил.
Он няша. По крайней мере, я уверен, гораздо симпатичнее тебя.
#173 #474876
>>474729
В /s/
#174 #474892
>>474872
Семён Семёныч
9 Кб, 373x146
sage #175 #474906
>>474865
Ты все не угомонишься, болезный?
#176 #474914
>>474906
Так это ты же обиженка, рвёшься с сажей постоянно, неудовлетворённый, злой такой. Вот опять
47 Кб, 600x398
sage #177 #474917
>>474914

>ЭТА У ТИБЯ БАТТХЁРТ, ЭТА ТИ ПЛАХОЙ!! МАААААМ, ЭТО ОН ПЛОХОЙ, НУ МААААМ!!!


Ясно.
Ты выполз внезапно и начал на меня кукарекать, теперь еще оправдываешься, что это я злой. Охуенная логика. Впрочем, цели своей ты достиг - ты меня раздражаешь своим жужжанием.
#178 #474922
>>474917
Продолжай.
#179 #474926
>>474865
Чего ты на него такой обиженный? У него кроме зацикленности на Qt больше закидонов нет, но это его личное дело, я считаю.
#180 #475004
Пиздец, всех птушников прогнали и теперь обсуждаем кутэсажекуна.
#181 #475025
Сап, а есть нынче процессоры, на которых можно словить word-tearing при записи одного байта? То есть, где минимально можно 4/8 байт за раз писать/адресовать.

Пишу сюда, потому что не знаю, где еще можно спросить
#182 #475048
>>475025
Для железа есть тематика. А тут даже ассемблер треда нет.
2 Кб, 247x41
#183 #475056
Аноны, нужно посчитать по формуле пикрел. На ввод идет N.
Что я делаю не так?
((1 / 4) (1 + (pow((-1), n))(5(pow(n,2))-5(pow(n,4))-2*(pow(n,5))-1)))
sage #184 #475066
>>475056
[code]
[code]
[code]
[code]
[code]
[code]
[code]
[code]
[code]
#185 #475070
>>475056

> (1/4)


Я очень не уверен, что ты оцениваешь ситуацию трезво.
#186 #475072
>>475066
>>475056
Через win.form нужно сделать. Вот код кнопки получения результата.
N - линия прокрутки откуда берется n.
Где-то именно в формуле косяк, т.к с любыми корректными формулами работает.
#187 #475073
>>475056
Почему ты решил что что-то не так?
#188 #475076
>>475072
http://ideone.com/E5f7iU -> http://ideone.com/lt4OSV

Таких ньюфагов я давно не видел.

мимо-рубиблядь
#189 #475077
>>475070
Блять, какой же я мудак.
Спасибо большое. Минут 20 ебался с этим.
#190 #475174
К нам в айти отдел пришёл новый сотрудник. Нужно сказать, что у нас в отделе работают почтенные крестогоспода. Новичка посадили за компьютер, но не успели даже дать задание, как он начал кодить. Начальник из любопытства подошёл посмотреть, что он там написал. В течении секунд тридцати он побледнел, затем посинел, затем покраснел, а потом трясущимся от нескрываемого гнева голосом сказал:
- Это же Абстрактная фабрика! На чём ты кодил до этого?
- На Джаве.
- Жабапидор! - в один голос заорали все 20 человек.
- Жабапидор! Жабапидор! Жабапидор!
Кто-то включил сирену. Над дверьми замигали красные лампочки тревоги. На окнах мгновенно сомкнулись плотные жалюзи. В офисе одновременно бывает два отдела человек по сорок. На обеде вся эта толпа собирается на первом этаже, где яблоку негде упасть. А поэтому, как охранники ни пытались вырвать джавапидора из рук разъяренной толпы, им это не удалось. По всему офису стоял сплошной рев:
- Жабапидор!
В коридоре его сразу же сбили с ног. Используя галстук как поводок, его тащили через весь коридор, передавая из рук в руки. Поэтому получалось так, что никакого движения в коридоре не происходит, но и джавапидора тоже нет. Его заволокли в каптерку под лестницей, где хранятся ведра и швабры с тряпками, и там закрыли. Под конец рабочего дня он всё же появился. За получасовой обед его изнасиловали несколько человек. Сопротивляться было бы бесполезно. Через день на нем чистым оставалось одно лицо, а на теле не было живого места. Он превращался в мразь, в животное. Его били все, даже дизайнеры и уборщицы. Его заставляли есть говно и опарышей. В очко ему совали битые лампочки, живых птиц и змей. Он стал «дельфином» – в нужнике пятнадцать дырок, он ныряет в первую, выныривает, ныряет во вторую... И так – до конца. От него постоянно воняло. С ним невозможно было рядом находиться. Был такой случай: к нам устроился работать Степаныч. Степаныч сидит на толчке, а кто-то снизу через очко хватает его за яйца. Степаныч с воплем вылетает в коридор без штанов. Напротив - айти отдел. Смех не стихал долго... Потом Степаныч забил его кирзовым сапогом насмерть. Менты как узнали, что сдох джавапидор даже дело заводить не стали.
#190 #475174
К нам в айти отдел пришёл новый сотрудник. Нужно сказать, что у нас в отделе работают почтенные крестогоспода. Новичка посадили за компьютер, но не успели даже дать задание, как он начал кодить. Начальник из любопытства подошёл посмотреть, что он там написал. В течении секунд тридцати он побледнел, затем посинел, затем покраснел, а потом трясущимся от нескрываемого гнева голосом сказал:
- Это же Абстрактная фабрика! На чём ты кодил до этого?
- На Джаве.
- Жабапидор! - в один голос заорали все 20 человек.
- Жабапидор! Жабапидор! Жабапидор!
Кто-то включил сирену. Над дверьми замигали красные лампочки тревоги. На окнах мгновенно сомкнулись плотные жалюзи. В офисе одновременно бывает два отдела человек по сорок. На обеде вся эта толпа собирается на первом этаже, где яблоку негде упасть. А поэтому, как охранники ни пытались вырвать джавапидора из рук разъяренной толпы, им это не удалось. По всему офису стоял сплошной рев:
- Жабапидор!
В коридоре его сразу же сбили с ног. Используя галстук как поводок, его тащили через весь коридор, передавая из рук в руки. Поэтому получалось так, что никакого движения в коридоре не происходит, но и джавапидора тоже нет. Его заволокли в каптерку под лестницей, где хранятся ведра и швабры с тряпками, и там закрыли. Под конец рабочего дня он всё же появился. За получасовой обед его изнасиловали несколько человек. Сопротивляться было бы бесполезно. Через день на нем чистым оставалось одно лицо, а на теле не было живого места. Он превращался в мразь, в животное. Его били все, даже дизайнеры и уборщицы. Его заставляли есть говно и опарышей. В очко ему совали битые лампочки, живых птиц и змей. Он стал «дельфином» – в нужнике пятнадцать дырок, он ныряет в первую, выныривает, ныряет во вторую... И так – до конца. От него постоянно воняло. С ним невозможно было рядом находиться. Был такой случай: к нам устроился работать Степаныч. Степаныч сидит на толчке, а кто-то снизу через очко хватает его за яйца. Степаныч с воплем вылетает в коридор без штанов. Напротив - айти отдел. Смех не стихал долго... Потом Степаныч забил его кирзовым сапогом насмерть. Менты как узнали, что сдох джавапидор даже дело заводить не стали.
#191 #475214
http://pastebin.com/315VXrcv
Кто-нибудь осилит это чудо поправить?
#192 #475236
>>475214
Переписывай этот код каждый день до тех пор, пока он не станет читабельным.
#193 #475308
>>475214

>2015


>Не K&R


Иди на хуй.
#194 #475309
>>475236
Трагедия в том, что писал его не я, а рабочим его сделать нужно. Каждый день я думаю о том, что нужно его переписать с нуля, иначе ошибку не найду, но решать неинтересную задачу откровенно лень.
>>475308
Не знаю, что ты имел ввиду, но, на всякий случай, иди на хуй.
#195 #475323
>>475214
А что там не так?
#196 #475326
>>475323
Там выводится неверное кол-во узлов дерева, при этом само дерево отрисовывается корректно.
#197 #475330
>>475214
http://ideone.com/vjJRBF
Все же работает и причем правильно.
#198 #475335
>>475330
Ноуп. В твоём выводе фактически 11 узлов, вот тут:

Обход в ширину: a_b_g_c_f_h_m_d_e_i_n_j_o_k_l_
Пройдено узлов: 15

15 отображается. Вот этого вот хвоста: j_o_k_l_ быть не должно, не знаю, откуда он вылез.
#199 #475336
>>475335
Что-то я хуйню непонятную написал. Короче, должно быть 11как видно на самом дереве, а вывелось 15.
#200 #475354
>>475336
А может быть должны быть 15, а вывелось только 11? Проблемы в выводе, как минимум не влазит дерево, сделай больше строчек на вывод. И иногда там вроде проебываются некоторые вершины, я бы советовал выводить элементы по фиксированым координатам, если это не сильно принципиально.
sage #201 #475360
>>475336
>>475335
Ты что, не видишь что-ли что конструктор для ноды вызывается 15 раз? Значит нод 15. Просто ты выводишь 11.
#202 #475447
>>475174
Что было в оригинале?
sage #203 #475448
>>475447
Крестомразь в отделе сишников.
#204 #475568
Это же эквивалентно
(1)
[code lang="cpp"]
typename std::decay< decltype (object.begin ()) >::type &it
[/code]
этому?
[code lang="cpp"]
decltype (object.begin ()) &it
[/code]
С++14 пока не завезли, поэтому лямбд с auto нету. А у object'а ебанутый тип, который больше (1)
#205 #475608
>>475447
Пионер на малолетке
53 Кб, 1403x783
sage #206 #475665
Пришло время напомнить о своем кресто-поделии:

https://ololoepepe.me/board/b
https://github.com/ololoepepe/ololord

+ Файлы из треда теперь скачиваются по две штуки одновременно, чтобы снизить влияние пинга.
+ Для асинхронного постинга используется нормальный XHR вместо хака с iframe.
+ Реализована возможность добавлять файлы к уже запощенному посту.
+ Улучшена глагне (можно добавлять кастомный контент, а так же список сайтов-друзей).
+ Добавлена доска /d/. На этой доске отображается User-Agent, как в спец. треде куклоскрипта.
+ Добавлена система подсчета постов.
+ Усовершенствована разметка ссылок, добавлен тег [url], реализована разметка e-mail.
+ Исправлены быстрые ответы с доски.
+ Добавлен выбор действия после быстрого ответа (в настройках).
+ Исключения теперь отлавливаются во всех потоках.
+ Исправлена система авто-обновления тредов.
+ Усовершенствована система правил (можно указать, какие общие правила включать на доску).
+ Улучшена кнопка "Пожаловаться".
+ Реализована поддержка частичных GET-запросов (аудио и видео благодаря этому теперь перематываются).
+ Реализовано встраивание видео с YouTube. Вместо ссылки подставляется название видео.
+ Теперь сохраняется дополнительная информация об аудио и видео (длительность, битрейт, теги).
+ Реализована поддержка заголовков Last-Modified/If-Modified-Since (кеширование браузером).
+ Улучшен AJAX-запрос getNewPosts (если номер последнего поста равен 0, возвращаются все посты треда).
+ Добавлен AJAX-запрос getThreadNumbers (возвращает номера всех тредов с доски).
+ Добавлен AJAX-запрос getFileMetaData (возвращает мета-данные о файле, такие как длительность, битрейт или теги).
+ Добавлена страница-плейлист (аудио-файлы теперь можно добавлять в плей-лист).
+ Добавлена система "Избранных" тредов (выскакивает окошко, если в избранных тредах появились новые посты).
+ Добавлена возможность кешировать файлы вручную (например, сразу после запуска сервера).

Алсо, оформление по случаю.
53 Кб, 1403x783
sage #206 #475665
Пришло время напомнить о своем кресто-поделии:

https://ololoepepe.me/board/b
https://github.com/ololoepepe/ololord

+ Файлы из треда теперь скачиваются по две штуки одновременно, чтобы снизить влияние пинга.
+ Для асинхронного постинга используется нормальный XHR вместо хака с iframe.
+ Реализована возможность добавлять файлы к уже запощенному посту.
+ Улучшена глагне (можно добавлять кастомный контент, а так же список сайтов-друзей).
+ Добавлена доска /d/. На этой доске отображается User-Agent, как в спец. треде куклоскрипта.
+ Добавлена система подсчета постов.
+ Усовершенствована разметка ссылок, добавлен тег [url], реализована разметка e-mail.
+ Исправлены быстрые ответы с доски.
+ Добавлен выбор действия после быстрого ответа (в настройках).
+ Исключения теперь отлавливаются во всех потоках.
+ Исправлена система авто-обновления тредов.
+ Усовершенствована система правил (можно указать, какие общие правила включать на доску).
+ Улучшена кнопка "Пожаловаться".
+ Реализована поддержка частичных GET-запросов (аудио и видео благодаря этому теперь перематываются).
+ Реализовано встраивание видео с YouTube. Вместо ссылки подставляется название видео.
+ Теперь сохраняется дополнительная информация об аудио и видео (длительность, битрейт, теги).
+ Реализована поддержка заголовков Last-Modified/If-Modified-Since (кеширование браузером).
+ Улучшен AJAX-запрос getNewPosts (если номер последнего поста равен 0, возвращаются все посты треда).
+ Добавлен AJAX-запрос getThreadNumbers (возвращает номера всех тредов с доски).
+ Добавлен AJAX-запрос getFileMetaData (возвращает мета-данные о файле, такие как длительность, битрейт или теги).
+ Добавлена страница-плейлист (аудио-файлы теперь можно добавлять в плей-лист).
+ Добавлена система "Избранных" тредов (выскакивает окошко, если в избранных тредах появились новые посты).
+ Добавлена возможность кешировать файлы вручную (например, сразу после запуска сервера).

Алсо, оформление по случаю.
#207 #475710
>>475608
Пастой про пионера тралят коммипетухов в /po/
sage #208 #475730
>>475665

>/b/ратство


Пиздарики. Еще одной лицемерной пораши нехватало.

>Добавлена система подсчета постов


А вот и зонды пошли. Нахуя?
sage #209 #475731
>>475730
Че ты несешь, поехавший, какие зонды, блять?
#210 #475744
>>475665
Ты же процедурное говно пишешь, зачем тебе C++?
sage #211 #475807
>>475744
Обоснуй. Мне как в жабе на каждый чих класс делать, даже для main?
#212 #475814
>>475807
Обосновывать что, твою неспособность в ООП?
Обрати внимание на Go, думаю, он тебе понравится.
#213 #475819
>>475807

> Зачем ты пишешь goto-портянки?


> Обоснуй. Мне как в C на каждый чих процедуру делать, даже для main?

#214 #475821
>>475819
Двачую.
sage #215 #475828
Ясно, опять кукареки без конкретики.
#216 #475829
>>475828
Болезная мартышка ушла в отрицание
sage #217 #475832
>>475829
Дак нечего отрицать то, ты кудахтнул что у меня, мол, код не такой, как тебе хочется, а где - не сказал. Вообще, спорить со страдающим ООП головного мозга не вижу смысла, но ты показывай примеры, может поясню.
#218 #475878
>>472264
Потому что у адекватных людей "c++ considered harmful"
#219 #475908
Пацаны, проблема с Си.
Сделал структуру (первый спойлер), и короче компилятор пишет, что "next" has not been declared. И эта ошибка по всей программе.
С хрена бы он не объявлен? Поясните.
Пример функции, где так пишет, во втором спойлере.


struct L
{
int symb;
L next;
};
typedef L
LL;
LL Head;



L DeleteL(LL Head, LL DL) //DL удаляемый
{
LL
temp = new LL; //просмотр от головы
temp = Head;
while (temp->next != DL)
temp = temp->next;
temp->next = DL;
if (temp == NULL)
break;
temp->next = DL->next;
delete DL;
return(temp); //возвращает адрес узла после удалённого
}
#219 #475908
Пацаны, проблема с Си.
Сделал структуру (первый спойлер), и короче компилятор пишет, что "next" has not been declared. И эта ошибка по всей программе.
С хрена бы он не объявлен? Поясните.
Пример функции, где так пишет, во втором спойлере.


struct L
{
int symb;
L next;
};
typedef L
LL;
LL Head;



L DeleteL(LL Head, LL DL) //DL удаляемый
{
LL
temp = new LL; //просмотр от головы
temp = Head;
while (temp->next != DL)
temp = temp->next;
temp->next = DL;
if (temp == NULL)
break;
temp->next = DL->next;
delete DL;
return(temp); //возвращает адрес узла после удалённого
}
3 Кб, 409x121
13 Кб, 822x223
#220 #475911
>>475908
Ебаный курсив, прикрепил пикчами.
#221 #475914
>>475908
В С нужно писать не L а struct L по всей программе. Или объявить структуру как
typedef struct
{
int symb;
struct L* next;
} L;
#222 #475916
>>475914
Объявил, как сказал, та же ошибка.
sage #223 #475917
>>475914

> Или объявить структуру как


Забыл уточнить что с таким объявлением дальше в программе можно использовать L а не struct L. Но в самом объявлении нужно struct добавить.
46 Кб, 421x700
#227 #475925
>>475919
>>475919
Наверное у тебя есть выше "typedef struct L L;"
Тогда с объявлением структуры все ок, ты напутал скорее всего с LL. Ты объявил LL как указатель на L, потом содал переменную temp типа указатель на LL, тоесть указатель на указатель, потом ты применяешь к нему оператор -> что приводит к применению оператора точки к указателю, что ошибка.
#228 #475926
>>475924
блять, не то
Короче, первая ошибка до сих пор вылезает.
#229 #475927
>>475925
А как грамотно переходить? Я вообще не уверен с объявлением LL, если честно, но эта хреновина применяется, когда делаешь голову списка в методичках, без неё ещё больше фейлов.
#230 #475928
>>475927
Объявляй temp как LL а не LL*.
#231 #475929
Сап аноны, как в winform считать текст из textBox, для последующего сравнения с частью строки из richTextBox?
Пробовал char::Parse.
#232 #475930
>>475928

>cannot convert `L' to `L*' in initialization

#233 #475931
>>475930
Нахуй тебе вообще этот С? Перекатись в питон.
#234 #475932
>>475931
Лабы у меня на С, питон и так учу фоном.
#235 #475933
>>475930
А ещё в мэйне данные из структуры не признаёт объявленными.
#236 #475934
>>475932
Тогда оставь так как было, там где с оператором -> ошибка используй что-то типа (*temp)->next
#237 #475936
>>475934
Спасибо, вроде компилится.
Правда, в ходе выполнения вылетает почему-то, не могу косяк найти.
#238 #475938
>>475929
бамп
#239 #475966
>>475929
Помогите бомжу, сижу ебусь с этим дерьмом уже не первый час.
#240 #475967
>>475966
Я три недели лабу делал, так и не допилил, однокурсник помог. И с этой ебусь уже сутки, не понимаю, где проёбываюсь.
Удачи, я б помог, но в душе не ебу, что ты делаешь.
>>475908-кун
#241 #475971
>>475967
В самое лабе нужно сделать ввод 8 записей (Имя, Фамилия, Знак зодиака, дата рождения (массив из 3 значений)).
По нажатии на кнопку их отсортировать по дате. И по нажатию другой кнопки отфильтровать по знаку зодиака. Знак зодиака вводится в окошко textBox.
Я почти все сделал, кроме последнего.
http://pastebin.com/1up51MFT
13 строка - получаю знак зодиака человека по списку и его нужно сравнить с написанным в textBox1, но как?
#242 #475975
Двач, объясни суть поразрядной LSD-сортировки. Надо будет применить к массиву строк по 20 цифр.
#243 #475986
>>475971
strcmp
#244 #475990
>>475986
Их нужно к одному типу привести перед сравнением, каким образом сделать это? Сравнивать строки я умею, лол.
http://pastebin.com/DtaXXDfT
#246 #476007
>>475990
В чем именно проблема? soc у тебя строка, в textBox1->Text строка, по твоему мнению строки ты сравнивать имеешь, сравниваешь, профит.
6 Кб, 642x89
#247 #476012
>>476007
Я же говорю, что это не строки, а другой тип.
#248 #476014
>>476012
А TextBox1->Text какого типа у тебя? Разве не String^?
#249 #476015
>>476014
В смысле, у String^ разве нет тупо оператора ==
#250 #476016
>>476012
soc->CompareTo(textBox1->Text);
#251 #476020
>>476016

>soc->CompareTo(textBox1->Text);


Он просто перебивает мне выдает весь список.
if ((soc->CompareTo(textBox1->Text)) == 0)
А так выдает, что не равны строки.
#252 #476042
>>476016
>>476020
Все, разобрался. Нужно было добавлять пробел в textBox1 при сравнении, т.к при считывании знака в конце пробел остается.
Спасибо
118 Кб, 1048x720
#253 #476157
ЕБУЧИЙ QT

Надо скачивать файл из инторнетов, посмотрел как это сделать с помощью QNetworkAccessManager, скомпилил предоставленный пример с офсайта.
И ВОТ ХУЙ.
Он не работает. Вернее, блядь, не всегда работает.
К внешнему инторнету я подключён по pppoe. Когда запускаю пример - не работает.
Когда включаю VPN - всё начинает работать.
ЧТО БЛЯДЬ ЭТО ЗА ХУЙНЯ? И ЭТО СТАБИЛЬНОСТЬ? И ЭТО КРОССПЛАТФОРМЕННОСТЬ? ОХУЕТЬ БЛЯДЬ, ВЕСЬ ДЕНЬ СЕГОДНЯ С ЭТИМ ПРОЕБАЛСЯ, ПИЗДААААА.
#254 #476216
>>476157
Почему бы тебе не выложить код который не работает
(лучше в виде ссылки на гитхуб или еще куда) вместо
изливания эмоций ?
sage #255 #476229
Эй, хейтер, ну-ка быстро кукарекнул по этому поводу >>476157. Такой-то удобный случай, а ты молчишь.
#256 #476236
>>472689
Это пример хорошего резюме на фото?

>активная жизненная позиция, аналитический склад ума


Серьезно такую хуйню указывают?
34 Кб, 490x398
#257 #476241
>>476216
Я же говорю, что пример с официального сайта.
http://doc.qt.io/qt-5/qtnetwork-http-example.html
Готов поспорить, что ежели у вас, господа, не pppoe-подключение, то всё будет работать.
Ебал в рот, сколько же я времени на эту хуйню зря потратил.
#258 #476242
>>476241
Добавлю, нужно ещё изменить адрес по умолчанию "qt-project.org" на что-нибудь живое
sage #259 #476245
>>476241
Почитай https://bugreports.qt.io/browse/QTBUG-23643
http://doc.qt.io/qt-5/qnetworkconfiguration.html
и
http://doc.qt.io/qt-5/qnetworkconfigurationmanager.html
Проверь, какая конфигурация бывает выбрана при ошибке.
#260 #476282
У меня есть такой конструктор
[code lang="cpp"]
Vec(initializer_list<T> l)
{
\tsize_t idx = 0;
\tfor (T i : l)
\t arr[idx++] = i;
}
[/code]
, где аrr - array<T, N>
Этот код мне не нравится, и я хочу пробросить initializer_list в массив, приверно так
[code lang="cpp"]
template <class ... Types>
Vec(const Types& ... args): arr({args...}) { }
[/code]
Это возможно?
#261 #476283
Бля, поясните неофиту, как char[4], содержащий usigned integer 32 в big-endian, конвертнуть в обычный uint32_t little-endian?
#262 #476284
#263 #476286
>>476283
В лоб:
c[0]<<24|c[1]<<16|c[2]<<8|c[3]

Каст к указателю на uint32_t, вычитывание uint32_t и bswap интринсиком часто будет быстрее, но менее портабельно. Нормальные люди выбирают этот вариант. Дрочащие на кроссплатформенность - решение со сдвигами.
#264 #476291
>>472173
помогите пожалуйста решить задачу, или хотя бы подскажите алгоритм решения))
В натуральном числе n найти наибольшую по длине возрастающую (убывающую) последовательность цифр и индексы её начала и конца. Или вывести сообщение “НЕТ”.
#265 #476294
>>476284
>>476286
Я похоже совсем имбицил, но вот это внезапно сработало:
[CODE lang="cpp"]
uint32_t size;
myFile.seekg(4);
myFile.read((char*)&size, sizeof(size));
[/CODE]
1935 Кб, 3264x1952
sage #266 #476295
>>476291
Иди на хуй.
#269 #476298
>>476297
но там же с созданием массива, а можно решение без создания массива?
#270 #476299
>>476298
Лолблять. Иди нахуй.
#271 #476303
>>476297
Что это за хуйня? Експонента? Структуры данных? Решается же за один проход, линейная сложность.
sage #272 #476306
>>476303
Там вообще не та задача. Я просто надеялся, что >>476291 нихуя не поймет и еще больше запутается.
#273 #476309
>>476306

> Там вообще не та задача


Ну как это не та, если та самая. Точнее задача в >>476291 сводится к >>476297
sage #274 #476311
>>476309
А, и то правда.
#275 #476315
>>476303
ну так подскажи решение пожалуйста, но мне надо решить эту задачу без создания массива для цифр числа
#276 #476339
извините, да я иду нахуй сразу но все же. скажите где мне скачать ебучий борлад или ещё какую залупу, я заебался, везде паки от васяны которые нихуя не работают. да спасибо, я иду нахуй все свободны.
#277 #476341
>>476339
CMake+GCC+GDB+CLion
#278 #476345
>>476341
Устаревшее говно gcc. Есть clang.
#279 #476347
>>476345
Да не суть, хоть mingw.
sage #280 #476348
>>476339
g: "visual studio express"
#281 #476349
>>476348

> C++ тред


> express


))))0
#282 #476355
>>476349
2013 экспресс таки может в кресты, в отличие от 2010.

А еще, из непосоветованного, есть Qt.
#283 #476356
>>476355
Ну так-то и Notepad++ "может" в кресты - подсветка и базовое автодополнение есть, хули ещё надо?
#284 #476358
>>476356
Нотепад++ не сможет в дебаг. >>476339 дебаг очень пригодится.
sage #285 #476360
>>476356
Не надо пытаться сделать троллейбус из буханки. Ему нужна IDE, а не блокнот. Notepad++ охуенный блокнот, но не IDE.
#286 #476365
>>476360
Ну так твой экспресс тот же нотпад - подсветка да автодополнение кое-какое, ни отладки нихуя.
Оно только для шарпа и годно, может быть.
#287 #476366
>>476291
ну помогите же
sage #288 #476369
>>476365
Разве? Вроде есть там дебаггер для крестов.
sage #289 #476370
>>476366
Отсоси потом проси.
#290 #476375
>>476369
Ну хуй знает, когда я последний раз смотрел - его не было.
Да и вообще, если хочется навернуть говна, то почему не коммюнити-версию обычной студии? Она-то точно умеет в кресты, дебаггер и прочее.
Ну или Qt Creator, как выше предлагали.
#291 #476377
Бля, а можно я тоже платину спрошу?
Что нужно знать, чтобы взяли джуном на крестах?
Последний раз именно на C++ писал что-то вроде парсера функций в n-арное дерево с вычислением значений в точке.
#292 #476378
>>476286
Что-то я нихуя не понимаю...
Делаю:
[CODE lang="cpp"]
uint32_t i = (buffer[7] << 24) | (buffer[6] << 16) | (buffer[5] << 8) | buffer[4];
[/CODE]
И получаю какое-то абсолютно ебанутое значение. А вот если сразу читать в uint32_t как тут >>476294 - всё заебись.
#293 #476381
>>476286

> 0,1,2,3


>>476378

> 7,6,5,4

#294 #476382
>>476381
Да однохуйственно.
[CODE lang="cpp"]uint32_t i = (buffer[4] << 24) | (buffer[5] << 16) | (buffer[6] << 8) | buffer[7];[/CODE]
Тоже какую-то нереальную хуиту на выходе даёт.
#295 #476384
>>476382
Дебаггер: содержимое buffer, что ожидается, что возвращает. Вот это все покажи.
#296 #476386
>>476384

> содержимое buffer


Эээм, у меня вектор с чарами из двухметровго бинаря, хуй знает как это тебе показать...

> что ожидается


2523375

> что возвращает


>>476294 - 2523375 - всё верно
>>476378 - 4294967279 - не представляю вообще что это, откуда и как оно вообще получилось
>>476382 - 4286588416 - аналогично
#297 #476388
>>476386

>хуй знает как это тебе показать


каком кверху, блять

[code lang="cpp"]
for (i = 0; i < 8; ++i)
std::cout << buffer << " ";
[/code]
#298 #476389
>>476388
buffer[i| макаба конечно же съела. Спасибо, Абу!
sage #299 #476390
>>476377
Минет потренируйся делать - возьмут без проблем.
>>476389
Скрипт поставь, с ним не съедает.
1 Кб, 132x21
#300 #476391
>>476388
Держи, лол
#301 #476392
>>476391
Блять, ты такой тупой. Даже помогать тебе больше не хочется.
#302 #476393
Из unsigned char надо байты брать. Иначе из массива будет браться отрицательное (0xffff....) число, а это не совсем то, что нужно делать. Я думал, это очевидно, и в >>476286 не стал касты дописывать.
sage #303 #476394
>>476393
В hex похуй отрицательное или нет. У него с головой проблема, а не с кастами.
#304 #476395
>>476394
Поясню, раз тут языка не знают. http://ideone.com/vtfcZy
#305 #476397
>>476394
Похуй было бы с маской. А раз маски нет, надо кастить к указателю на unsigned char (или лучше на uint8_t).
>>476391
Лол, swf собрался парсить?
#306 #476402
>>476392
>>476394
Чего ты так нагрелся? Я же сразу сказал, что нулина.

>>476397

> Лол, swf собрался парсить?


И сразу же соснул, как видишь.
#307 #476408
>>476402
Ты бы мог читать uint32_t сразу, как >>476294 тут делал, и потом байты местами менять:
uint32_t uint32_swap(uint32_t n) {
return ((n >> 24) & 0xff) | ((n >> 8) & 0xff00) | ((n & 0xff) << 24) | ((n & 0xff00) << 8);
}
но это .swf с сигнатурой CWS, т.е., он сжат. Т.е., тебе все равно придется его разжимать и работать с памятью. Поэтому лучше сразу приготовься к коду типа >>476382, но не забывай, что буфер у тебя должен быть типа unsigned char.
#308 #476411
>>476408

> но не забывай, что буфер у тебя должен быть типа unsigned char.


Вот тебе спасибо, сделал его unsigned char и >>476378 теперь выдаёт корректное значение.
#309 #476416
>>476411
Только имей в виду, что >>476378 - это little endian.
#310 #476467
>>472173
поскажите пожалуйста алгоритм нахождения наибольшей по длине возрастающей последовательности в натуральном числе
#311 #476471
>>476467
Внимательно слушаю результаты первой страницы гугла
#312 #476475
>>476467

> в натуральном числе


ШТОА?
#313 #476478
>>476475
ну тип больше нуля))), натуральными числами можно посчитать предметы
sage #314 #476479
>>476467
Съеби уже, гнида. Мать твою в очко драл.
sage #315 #476481
>>476478
Хуи в твоем рту можно посчитать. Хотя нет, для такого количества мощности счетного множества будет маловато.
#316 #476484
>>476479
к чему эта агрессия,подскажи как решать, и я сразу уйду
#317 #476485
>>476478
Отлично, алгоритм O(1): return [1, ∞].
sage #318 #476486
>>476484
Не подскажу, соси хуй, тебе в жизни пригодится с таким интеллектом.
#319 #476487
>>476485
я не понимаю,объясни пожалуйста подробнее этот алгоритм, и мне нужно решить эту лабу без составления массива из цифр числа
#320 #476642
Бля, есть неспящие?
sage #321 #476645
>>476642
Если ты - тот долбоеб с натуральными числами, то все спят.
крокодил
#322 #476648
>>476645
Нет, я LSD-сортировку не могу запилить на массиве строк. Везде есть примеры на массиве чисел, а мне массив строк нужен, не понимат.
sage #323 #476652
>>476648
А шо не так? Заменяешь "энный разряд" на "энный символ" и все то же самое
#324 #476661
>>476648
Ебанутый? На массиве строк еще проще. Не надо маской вытаскивать значение разряда. Просто s1.at(2) s2.at(2) и все.
#325 #476662
>>476652
>>476661
Поразрядная нужна.
sage #326 #476681
>>476662
Тебя в детстве головой вниз роняли?
#327 #476756
Освоил С++ за 21 день. Теперь мне нужен сборник задач на русском с решениями. Простенькие задачи вроде сортировки или быстрого поиска но чтобы все темы охватывал(массивы, строки, структуры и т.д.) и пояснял стандартной библиотекой пояснял как пользоваться. Знает кто такую книжку? Что можете посоветовать? И может есть сайты где решаешь задачи, отправляешь решения, а потом смотришь разбор авторского решения?
#328 #476767
Покидайте мне свои gitы.
#329 #476778
>>476756
http://e-maxx.ru/algo/
+
http://codeforces.com/
+
Книга: ООП С++ Лафоре Р.
#330 #476780
>>476778
А на кодфорсе можно решение задачь смотреть?
#331 #476782
>>476780
Там есть разбор задач из контестов.
#332 #476800
>>472173
Нихуя не понимающий врывается в тред.
Использую QT 5.4.1 и mingw 4.9.1 x32.
Дано:
Собрал qt из исходников статически. Этим qt'ом собрал статически прогу, в итоге - на семерке и восьмерке все замечательно, а на xp выдает "Entry point for vsprintf_s not found in msvcrt.dll".
Сталкивался кто-нибудь? Из гугла выяснил только то, что такой баг был в каком-то релизе mingw, но то было в 2013, а сейчас все пофикшено.
#333 #476811
>>476800
Линковаться с более новой msvcrt религия не позволяет?
#334 #476814
Аноны, нужно сложить 2 числа в восьмеричной системе. На ввод подается 2 целых числа: 1 - целая часть, 2 - дробная часть.
Как вообще сделать представление в восьмеричной системе?
#335 #476835
>>476811
Линковаться с msvcrt можно только в студии. Mingw всегда использует системный dll. Переводить все на студию не хочу, ищу другой вариант.
#336 #476843
Есть ли в плюсах что-то вроде цикла for...each, чтобы можно было перебрать все определенные объекты?
#338 #476850
>>476843
for (auto i : containerName)
sage #339 #476852
>>476843
[code lang="c++"]for(auto x : collection) {
/do stuff/
}[/code]
#340 #476853
>>476850
>>476852
Заебца, спасибо, пасаны.
#341 #476889
Двощ, как сделать из целого числа дробное?
Чтобы в целой части остался 0.
#342 #476891
>>476782
Спасибо.
#343 #476893
>>476847
Сделал просто считывание в восьмеричной.
Но как теперь их складывать?
#344 #476900
>>476889

>Двощ, как сделать из целого числа дробное?


int i;
double d;
d=double(i);

>Чтобы в целой части остался 0.


А он там был? Тебе 0 в дробь превратить надо? Тогда пиши вместо нуля 0.0
#345 #476923
>>476900
Мне нужно всю целую часть перекинуть в дробную.
Допустим, дается 29317, а мне нужно получить 0.29317
#346 #476924
>>476800
Отбой, заработало.
Как ни странно, проблема была в mingw, обновил до самого свежего. Нужно было сразу попробовать, а не верить гуглу.
13 Кб, 669x201
#347 #476933
Учу С++ и переделываю шахматы в ооп.
Не получается написать конструктор для двумерного массива.
#348 #476935
>>476923
Сконвертируй в строку, прибавь к "0.", а затем обратно в double
#349 #476946
>>476933
Такой записью ты можешь проинициализировать массив, но не происвоить значения уже существующему. Юзай std::array или std::copy или std::vector.
#350 #476953
>>472173
двощ помоги, странно работает код,
этот код определяет длину числа, так вот, когда я ввожу число в котором цифр меньше десяти то код работает правильно, а когда 10 и более но код неправильно определяет длину числа, подскажи пожалуйста с чем это связано и как исправить
вот сам код:
http://pastebin.com/n7Gp2qZt
#351 #476957
>>476953
Ты понимаешь, что у инта диапазон значений - 2^32, т.е. 10 цифр? Перепиши чтоб юзало long long - будет 20 цифр (2^64).
Надо чтоб с неограниченной длиной числа работало? Тупо читай как строку и считай число символов.
Надо через математические операции? Длинная арифметика.
#352 #476958
Вкатываюсь в кресты,друзья. Подскажите литературу с чего начинать? Чем продолжать?
#353 #476960
http://pastebin.com/pnCFkFcx
Аноны, как сделать сложение в восьмеричной системе?
first - целая часть, second1 - дробная.
second1 нужно в восьмеричную перевести и сложить с first. Но как?
#354 #476961
>>476946
Для одномерного std::array<int, 3> a = {1,2,3};
а как будет для двумерного? <int, 8,8> и <int, (8,8)> не канает.
#355 #476963
>>476961
array<array<int, 3>, 8>
#356 #476967
>>476958
никто не подскажет?
#357 #476971
>>476963
Спс, а чем плохо инициализировать прямо при определении?
у меня С++ 11 и это не запрещено.
#358 #476972
>>476958
Алсо какую IDE использовать лучше?
#359 #476978
>>476972
Code::Blocks
#360 #476981
>>476978
Спасибо, а по литературе ничего не подскажешь?
#362 #476984
>>476983
не, не забанили. Спасибо большое.
#363 #476985
>>476971
Инициализировать - ничем. Проблема в коде слева на твоем пике - ты сначала объявляешь массив, а потом пытаешься ему список инициализации присвоить. Это не инициализация, инициализация - это когда сразу при объявлении.

>>476981
В этом разделе есть прикрепленный тред. Там есть ОП-пик. Посмотри на него.
#364 #476986
>>476985
Они там расположены по порядку? т.е с чего начать и чем продолжать?
#365 #476987
>>476981
К сожалению, нет. Стандартные рекомендации, решение задачек.
#366 #476988
>>476986
Хуй знает, вообще одного лафоре уже достаточно чтобы начать что-то кодить. Со всем, что он не покрывает - по ходу дела разберешься, там уже будешь знать что читать, в какую сторону копать и т.д.
#367 #476992
>>476988
Благодарю
#368 #476993
>>476983
Бля, надо бы в шапку подобную хуиту накидать, наверное.
#369 #476994
>>476993
Определенно надо, что бы подобные мне не засирали тред вопросами.
18 Кб, 625x189
#370 #477001
При чтении из файла в одну и ту же переменную она не обновляется.
strh (стринг) остается со значением track, когда должно быть
zz

А i2 остается с первым внесенным значением, те 1, хотя далее из файла должны загружаться 2 3 4.

пиздец
#371 #477003
>>477001
Пиздец, товарищ. Кто вас так программный код писать учил? Хуй знает, что там творится, кидай полный код, либо перепиши по-человечески.
89 Кб, 763x848
#372 #477008
>>477003
Вот ф-я загрузки из файла.
Полного слишком много
Многие переменные глобальные
#373 #477009
Есть приложение, которое работает с базой данных(DBMS MySQL). Где лучше всего хранить дескриптор соединения с БД? Охота избавиться от глобальной переменной.
#374 #477010
>>477009
Передавать везде, где он используется, очевидно же.
#375 #477011
>>477008

>Полного слишком много


>Многие переменные глобальные


Тогда ты тем более идёшь нахуй, никто не будет угадывать что делает твоя портянка.
мимо
#376 #477013
>>477011
Угадывать не нужно.
Программа работает, но выдает проверочные оповещения.
Получается, что:
При чтении из файла в одну и ту же переменную она не обновляется. (используется только в проверке условия совпадения)
Так должно быть?
#377 #477015
Подскажите идею сложного С++ проекта inb4:имиджборду. Сейчас у меня такой период, что выше среднесложных приложений не расту.
#378 #477017
>>477015
Покажи свое последнее приложение
#379 #477022
>>476756
Иди сразу на codility или hackerrank. Годные задачи на алгоритмы. Ещё тимус
#380 #477026
>>477013
Нет, не должно быть. Ты где-то обосрался. Чтобы понять где - попробуй для начала вместо невнятных проверочных сообщений просто выводить, что только что считал.
#381 #477029
>>477026
Выводит одно и то же, будто второй раз чтение в эту же переменную пропускается.
#382 #477034
>>477029
Форматирование файла правильное? На пике во втором столбце нули выглядят будто без пробела написаны.
#383 #477037
>>477034
так и есть
#384 #477039
>>472173
помогите пожалуйста с кодом;
мне нужно в натуральном числе найти наибольшую возрастающую последовательность и индексы её начала и конца, так вот, длину наибольшей последовательности программа определяет правильно, а вот индексконца пследовательности не всегда
например, при вводе числа 71232 всё работает правильно, а при вводе числа 1212123 уже индексы начала и конца последовательности определяются неверно, подскажите пожалуйста как это исправить))
http://pastebin.com/2DCnyM2r
#385 #477042
>>477034
Спасибо анон. В глаза долбюсь.
#386 #477043
>>477029
Проверь чему равны fail и bad флаги после чтения (YP.fail() YP.bad())
sage #387 #477049
>>477015

>сложного


>имиджборду


Лел. Крестовая часть борды (бэкенд) элементарная, в основном написание ее заключается в борьбе с отсутствием нормального ORM, ебле в жопу мьютексами и прикручивании разного говна для thumbnailing-а, извлечения тегов из аудио и прочего подобного. Это, конечно, не лаба_3, но и не сложно. JS-часть и то сложнее выходит (если ты конечно не очередную ничего не могущую парашу делаешь).
Напиши, например, 3д игру (со своим движком, разумеется). Или текстовый редактор с мультикурсором, автодоплнением, рефакторингом и прочими современными ништяками. Но будь готов обнаружить себя через год заросшим, немытым, вылетевшим из шараги, с геморроем и сколиозом. Но здорово выросшим как специалист.
#388 #477053
>>477039
Считывать число в инте это смех да грех. Можно в строковом типе находить наибольшую возрастающую последовательность.
Да и ответ он у тебя неправильный выводит в принцепи.
#389 #477055
>>477053
дело в том, что в условии лабы написано:
!!! Для цифр числа массив не создавать.!!!
поэтому помоги пожалуйста исправить условие
#390 #477061
>>477055
Тупое условие, не позволяет ДП применять, а там последовательность возрастающая может перескакивать через цифры? Или они подряд должны идти?
#391 #477062
>>476923
Какие ограничения?
Весь алгоритм: while(d>1)d=d/10;
#392 #477065
>>477061
вот условие :
В натуральном числе n найти наибольшую по длине возрастающую (убывающую) последовательность цифр и индексы её начала и конца. Или вывести сообщение “НЕТ”.
!!! Для цифр числа массив не создавать.!!!
#393 #477068
>>477065

>наибольшую по длине возрастающую (убывающую) последовательность цифр


1223455631135689
Какая из них?
#394 #477070
>>477068
135689, строго возрастающая
56 Кб, 1175x619
#395 #477071
>>477065
Так норм?
#396 #477076
>>477070

Можно же фор от 1ой до последней цифры и в него вложить цикл while которой будет работать пока текущая цифра больше предыдущей и считает длину а после конца вайла сравнивать с максимальной длиной.
#397 #477077
>>477071
Строка за массив щитается.
#398 #477081
>>477077
Блин, да этот массив чисто для считывания, суть ограничения не в этом. Я конечно могу переписать с посивольным считыванием, но блин тоже самое будет.
#399 #477082
>>477081
ну няш, лучше исправь мой код, где-то с 32 строки
http://pastebin.com/2DCnyM2r
#400 #477084
class A: virtual B
{};
class B
{
B(int c);
};

можно ли явным образом вызвать небазовый конструктор виртуального предка?
A* ptrA=new B(1);
при этом будет вызван базовый ктор А?
53 Кб, 1258x613
#401 #477085
>>477082
Ну нет, я лучше свой исправлю. При том, что твой только с интами работает. На
#402 #477087
>>477085
Готово? А я только сделал функцию возвращающую цифру по индексу.
#403 #477089
>>477087
Готово, как видишь. Там, кстати, и с буквами будет работать.
#404 #477091
>>477085
спасибо большое))))))))
#405 #477092
>>477089
А ограничения?
#406 #477093
>>477092
Ограничения в чем?
Во входных данных: никаких, алгоритм будет все считывать до знака переноса строки и сравнивать, только самая большая последовательность не должно превышать INT_MAX
По времени: алгоритм работает за O(n), тут у нас 10^12 символов
По памяти: O(1)

И еще, уважаемый, измените вывод
if (maxLengthLine == 1) cout << "NO" << endl;
\telse
\tcout << "Length: " << maxLengthLine << endl
\t\t << "Start: " << maxFinishPosition - maxLengthLine << endl
\t\t << "Finish: " << maxFinishPosition << endl;
Чтобы выводилось NO, если последовательность из 1 символа.
4 Кб, 455x87
#407 #477094
#408 #477105
>>477055
Ну создай лист, епта.
sage #410 #477123
Передаю свои знания #411 #477151
PS. Половину этого я тестил, другую половину собирал по рекомендациям.
=====================================================
Books:
[LEVEL1] http://www.math.spbu.ru/user/dlebedin/cpp1.pdf – методичка по VS 2010 C++ СПбГУ. (чтобы перейти к следующей части методички изменить цифру после cpp)
[LEVEL1] http://aco.ifmo.ru/el_books/applied_programming/ - конспекты ИТМО
[LEVEL1] http://www.ozon.ru/context/detail/id/31315281/ - Страуструп
[LEVEL1] http://www.ozon.ru/context/detail/id/5410595/ - Лафоре ООП в С++
[LEVEL1] http://www.ozon.ru/context/detail/id/1498452/ - Шилдт справочник по С++
[LEVEL3] http://www.ozon.ru/context/detail/id/31619787/ - Qt программирование
[LEVEL3] http://www.amazon.com/Object-Oriented-Analysis-Design-Applications-3rd/dp/020189551X/ref=sr_1_1?s=books&ie=UTF8&qid=1431380343&sr=1-1 – ООП Гради Буча
Courses:
[LEVEL1] http://ru.yasno.tv/course/details/programming-start – Введение в язык
[LEVEL1] http://loftblog.ru/category/courses/osnovy-oop-na-s/ – Основы ООП С++
[LEVEL3] https://ru.coursera.org/instructor/~214 – Алгоритмы на C++
[LEVEL1] https://stepic.org/users/31 и https://www.lektorium.tv/speaker/2941 – Курсы Александра Смаля
[LEVEL1] https://stepic.org/users/12 и https://www.lektorium.tv/speaker/2678 – Курсы Александра Куликова
[LEVEL2] https://www.edx.org/bio/deepak-b-phatak – Курсы C++ программирования (минимум C++)
[LEVEL1] http://www.amse.ru/courses/cpp2/ - АСП по C++
=====================================================
YouTube channels:
[LEVEL1] http://www.youtube.com/playlist?list=PL2F919ADECA5E39A6 – С++ с основ
[LEVEL2] http://www.youtube.com/playlist?list=PL2D1942A4688E9D63 – C++ Qt с основ
[LEVEL3] http://www.youtube.com/view_play_list?p=9D558D49CA734A02 – Стэнфордские лекции по программированию (не только C++)
=====================================================
Sites:
[LEVEL1] http://acmp.ru/index.asp?main=tasks – Онлайн контестер с легкими задачами
[LEVEL2] http://www.boost.org/ - Boost библиотеки
[LEVEL2] http://www.amazon.com/gp/bestsellers/books/9045760011/ref=zg_b_bs_9045760011_1 – Популярные книги по C++
[LEVEL1] http://hyperpolyglot.org/ - Сравнивание языков программирования (быстрый переход с другого языка)
[LEVEL1] http://www.cplusplus.com/reference/ - Справочник по всем стандартным библиотекам C++ (можно просто вбивать в поиск запросы)
[LEVEL1] http://neerc.ifmo.ru/wiki/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0 – Конспекты ИТМО
[LEVEL1] https://msdn.microsoft.com/ru-ru/library/3bstk3k5.aspx – MSDN справочник по C++
[LEVEL1] http://stackoverflow.com/questions/tagged/c%2b%2b или http://ru.stackoverflow.com/questions/tagged/c%2b%2b – задаем вопросы по С++
=====================================================
Contests and algorithms:
[LEVEL1] http://acm.timus.ru/ - Архив задач для решения и редкие контесты
[LEVEL2] http://www.spoj.com/ - Архив задач на английском
[LEVEL3] http://www.sanfoundry.com/1000-cpp-algorithms-problems-programming-examples/ - алгоритмы и приемы на C++
[LEVEL2] http://algolist.manual.ru/ - Описание известных алгоритмов (устарел)
[LEVEL2] http://codeforces.com/ - Контесты + новости о больших контестах
[LEVEL2] http://www.topcoder.com/community/events/ - Еще одни контесты
[LEVEL3] https://www.hackerrank.com/calendar – расписание известных контестов
[LEVEL3] https://contest.yandex.ru/contest-list/ – контесты от Яндекса
[LEVEL3] http://cups.mail.ru// – Mail.ru cups (не только спортивное программирование)
[LEVEL4] https://code.google.com/codejam – контесты от google
[LEVEL4] http://icpc.baylor.edu/worldfinals/problems – задачи финалов чемпионата мира по программированию
=====================================================
Forums:
http://rsdn.ru/forum/cpp
http://www.cyberforum.ru/cpp/
http://www.cplusplus.com/forum/
http://www.qtcentre.org/forum.php
https://www.google.ru/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#newwindow=1&q=c%2B%2B+forum – другие запросы гугла
Передаю свои знания #411 #477151
PS. Половину этого я тестил, другую половину собирал по рекомендациям.
=====================================================
Books:
[LEVEL1] http://www.math.spbu.ru/user/dlebedin/cpp1.pdf – методичка по VS 2010 C++ СПбГУ. (чтобы перейти к следующей части методички изменить цифру после cpp)
[LEVEL1] http://aco.ifmo.ru/el_books/applied_programming/ - конспекты ИТМО
[LEVEL1] http://www.ozon.ru/context/detail/id/31315281/ - Страуструп
[LEVEL1] http://www.ozon.ru/context/detail/id/5410595/ - Лафоре ООП в С++
[LEVEL1] http://www.ozon.ru/context/detail/id/1498452/ - Шилдт справочник по С++
[LEVEL3] http://www.ozon.ru/context/detail/id/31619787/ - Qt программирование
[LEVEL3] http://www.amazon.com/Object-Oriented-Analysis-Design-Applications-3rd/dp/020189551X/ref=sr_1_1?s=books&ie=UTF8&qid=1431380343&sr=1-1 – ООП Гради Буча
Courses:
[LEVEL1] http://ru.yasno.tv/course/details/programming-start – Введение в язык
[LEVEL1] http://loftblog.ru/category/courses/osnovy-oop-na-s/ – Основы ООП С++
[LEVEL3] https://ru.coursera.org/instructor/~214 – Алгоритмы на C++
[LEVEL1] https://stepic.org/users/31 и https://www.lektorium.tv/speaker/2941 – Курсы Александра Смаля
[LEVEL1] https://stepic.org/users/12 и https://www.lektorium.tv/speaker/2678 – Курсы Александра Куликова
[LEVEL2] https://www.edx.org/bio/deepak-b-phatak – Курсы C++ программирования (минимум C++)
[LEVEL1] http://www.amse.ru/courses/cpp2/ - АСП по C++
=====================================================
YouTube channels:
[LEVEL1] http://www.youtube.com/playlist?list=PL2F919ADECA5E39A6 – С++ с основ
[LEVEL2] http://www.youtube.com/playlist?list=PL2D1942A4688E9D63 – C++ Qt с основ
[LEVEL3] http://www.youtube.com/view_play_list?p=9D558D49CA734A02 – Стэнфордские лекции по программированию (не только C++)
=====================================================
Sites:
[LEVEL1] http://acmp.ru/index.asp?main=tasks – Онлайн контестер с легкими задачами
[LEVEL2] http://www.boost.org/ - Boost библиотеки
[LEVEL2] http://www.amazon.com/gp/bestsellers/books/9045760011/ref=zg_b_bs_9045760011_1 – Популярные книги по C++
[LEVEL1] http://hyperpolyglot.org/ - Сравнивание языков программирования (быстрый переход с другого языка)
[LEVEL1] http://www.cplusplus.com/reference/ - Справочник по всем стандартным библиотекам C++ (можно просто вбивать в поиск запросы)
[LEVEL1] http://neerc.ifmo.ru/wiki/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0 – Конспекты ИТМО
[LEVEL1] https://msdn.microsoft.com/ru-ru/library/3bstk3k5.aspx – MSDN справочник по C++
[LEVEL1] http://stackoverflow.com/questions/tagged/c%2b%2b или http://ru.stackoverflow.com/questions/tagged/c%2b%2b – задаем вопросы по С++
=====================================================
Contests and algorithms:
[LEVEL1] http://acm.timus.ru/ - Архив задач для решения и редкие контесты
[LEVEL2] http://www.spoj.com/ - Архив задач на английском
[LEVEL3] http://www.sanfoundry.com/1000-cpp-algorithms-problems-programming-examples/ - алгоритмы и приемы на C++
[LEVEL2] http://algolist.manual.ru/ - Описание известных алгоритмов (устарел)
[LEVEL2] http://codeforces.com/ - Контесты + новости о больших контестах
[LEVEL2] http://www.topcoder.com/community/events/ - Еще одни контесты
[LEVEL3] https://www.hackerrank.com/calendar – расписание известных контестов
[LEVEL3] https://contest.yandex.ru/contest-list/ – контесты от Яндекса
[LEVEL3] http://cups.mail.ru// – Mail.ru cups (не только спортивное программирование)
[LEVEL4] https://code.google.com/codejam – контесты от google
[LEVEL4] http://icpc.baylor.edu/worldfinals/problems – задачи финалов чемпионата мира по программированию
=====================================================
Forums:
http://rsdn.ru/forum/cpp
http://www.cyberforum.ru/cpp/
http://www.cplusplus.com/forum/
http://www.qtcentre.org/forum.php
https://www.google.ru/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#newwindow=1&q=c%2B%2B+forum – другие запросы гугла
#412 #477155
#413 #477161
>>477151
Часть этого можно даже в шапку кинуть. Только мусор выкинуть надо бы методички, конспекты. охуеть.
#414 #477162
>>477161
По ним я освоил C++. Думаю для тех, кто хочет быстро вникнуть язык самое то.
sage #415 #477189
>>477162

>оператор goto


Боюсь представить, что ты там освоил.
263 Кб, 496x382
#417 #477248
>>472173
Собрался написать плагин, либо форк vlc с поддержкой предварительного просмотра как на ютубе.

Сейчас смотрю ютуб апи, как это реализовано там, но интересует как это всё перенести в реалии vlc.

Если кто-то имел дело с vlc, напишите какие библиотеки отвечают за интерфейс и собственно захват кадра.
15 Кб, 1358x732
#418 #477255
пошлите меня нахуй сколько вам нужно раз, но скажите пожалуйста, как для этого дерьма указать библиотеку нихуя не видит, не студ.ш не конио, нихуя. скачал с универа, т.к тупой не ебу как все это ставить, а нужно к субботе написать какое-то дерьмо, а я не могу без библиотек, в гугле нихуя не понял, спасибо.
#419 #477257
>>477255

>Borland c++


Выкинь нахуй. Скачай http://sourceforge.net/projects/codeblocks/files/Binaries/13.12/Windows/codeblocks-13.12mingw-setup.exe/download И не ебись, весит 100 МБ.
#420 #477258
>>477257
качаю, мне похуй даже если это вишмастер я его установлю, я уже заебался, спасибо.
#421 #477259
>>477255
Поехавший, для тебя уже Clion выпустили, иди своруй.
#422 #477260
>>477258
Не вишмастер, норм ИДЕ, особенно для студента. Все необходимое из коробки работает, весит немного, не тормозит даже на тостере, воровать не надо.
#423 #477261
>>477260
вишмастер 10из10, установил и он сам за меня написал проект и сдал все экзамены.
#424 #477262
>>477261
Нее, это, увы, не может. Для этого другой вишмастер есть, "студент-фрилансер" называется. Только он платный.
#425 #477263
спасибо большое >>477257 скачал, все работает.
тупой студент
sage #426 #477294
>>477259

>своруй


Дай ссылку где своровать, а то кряка на горизонте не наблюдаю
#427 #477297
>>477294
На рутрекере вроде с кряком рабочим, хз.
#428 #477344
>>476408

> Т.е., тебе все равно придется его разжимать и работать с памятью.


Я снова выхожу на связь.
Какой наиболее простой и портабельный способ для (де)компрессии зипа и lzma?
Для первого в прыщах есть zlib, но в других осях с этим как быть? Для последнего, вроде как, есть SDK.
sage #429 #477348
>>477344
zlib кроссплатформенный
#430 #477350
>>477248

> Собрался написать плагин, либо форк vlc с поддержкой предварительного просмотра как на ютубе.


Бля, джва года жду! Сирсли.
Если запилишь - выкинь куда-нибудь.
А вообще он вроде как юзает ffmpeg/libav, рендеришь фрейм по таймкоду и показываешь.
#431 #477361
>>477255
В универе нет на подписки на MSDN AA что ли? Что за шарага?
#432 #477372
>>477361
Дженерик рашка-шарага?
Я не уверен даже, что у крупных столичных вузов эта подписка есть.
gcc/configure/make #433 #477381
Репост и раковника.

Есть у меня пакет, который норм компилится, устанавливается и, главное, работает. Пакет этот я собирают так:

export CFLAGS="куча флагов"
export LDFLAGS="куча флагов"
./configure --еще --до --жопы --флагов
make

Концептуальный вопрос: я правильно делаю что export'ы у меня до configure? Configure же смотрит на CFAGS и LDFLAGS? Или ему похуй и export'ы надо прямо перед make ставить? или еще каким-то образом передавать?
#434 #477384
>>477381
В твоём случае без разницы, ты всё равно их экспортишь до make.
#435 #477404
>>477384
Я правильно понимаю что configure генерит какой-то файл, который потом использует make?

Переменные окружения, которые я перед configure объявил, попадают в этот файл или make их напрямую читает?
#436 #477453
Чуваки, очень нужен кряк на Resharper for C++
У вас ведь есть, я знаю
#437 #477455
>>477453
На рутрекере ищи
sage #438 #477457
>>477404

>Переменные окружения, которые я перед configure объявил, попадают в этот файл


Не попадают. Если ты заэкспортишь, запустишь конфигуре, потом закроешь консоль, и запустишь мэйк без экспорта, то соснешь.
#439 #477481
>>477404

> Я правильно понимаю что configure генерит какой-то файл, который потом использует make?


Makefile, да.

> Переменные окружения, которые я перед configure объявил, попадают в этот файл или make их напрямую читает?


Тут уже точно не скажу. Но конфигуряторы есть разные, некоторые могут хардкодить некоторые флаги в мейкфайл.
make же читает эти переменные и передаёт их дальше компилятору, но тут я тоже могу ошибаться.
#440 #477482
>>477455
Там только на простой решарпер кейген. Увы и ах.
#443 #477490
>>477488
Мудак дохуя?
#444 #477491
>>477488

>C++


>не быть пидором

31 Кб, 864x788
41 Кб, 430x430
12 Кб, 679x427
30 Кб, 297x404
#445 #477495
>>477489
Я бы тебе отсосал, чувак, ты охуенен.
#446 #477528
>>477372
У крупных она есть, но надо искать пидора, который выдаёт ключи, а он шкерится.
#447 #477543
>>477294
На рутрекере, кейген работает на всех версиях пока. Даже на прыщах.
#448 #477548
>>477361
европы. не шучу, срсли.
#449 #477553
>>477548
Так значит, хохол
#450 #477555
>>477553
если хохляндия на острове, то да.
#451 #477679
>>477528
Для получения студии надо просто отправить скан студика.
#452 #477683
>>477555
Мальтиец плиз
#453 #477704
>>477679
Проще было спиратить.
#454 #477821
Скачал 2015 с офсайта. Попросило придумать ник и установилось.
#455 #477838
вечер в хату аноны
какой проект написать на крестах шобы потом ходить по конторам и пытаться осесть там джуном?
#456 #477839
>>477679
VS express, VS community edition
Все дают бесплатно
#457 #477904
>>477838
Игровой движок.
#458 #477950
>>477904
сори, ананас, забыл уточнить
я намылился не в гейдев, а в распределенные-параллельные системки
#459 #477956
Сап, крестач, есть один код
[code lang="cpp"]
namespace __private_details
{
\ttemplate< typename BaseType, typename DerivedType, typename ... ConstructorArguments >
\tstd::shared_ptr< BaseType > creation_function (ConstructorArguments ... args)
\t{
\t\tstatic_assert (ds:is_base_of < BaseType, DerivedType >::value, "wrong derived type");

\t\treturn std::shared_ptr< BaseType > (static_cast<BaseType > (new DerivedType (std::forward< ConstructorArguments > (args)...)));
\t}
}

template < typename IdType, typename ObjectType, typename ... ConstructorArguments >
class Factory
{
\t//using namespace __private_details;
\ttypedef std::shared_ptr< ObjectType > (
__factory_function_t)(ConstructorArguments...);
public:
\ttemplate< typename DerivedType >
\tvoid register_factory (IdType &&id)
\t{
\t\tthis->__factories[std::forward< IdType > (id)] = &__private_details::creation_function< ObjectType, DerivedType, ConstructorArguments... >;
\t}\t
\t
\tauto create (IdType &&id, ConstructorArguments ... args) -> std::shared_ptr< ObjectType >
\t{
\t\tauto found = this->__factories.find (std::forward< IdType > (id));
\t\t
\t\tif (found != this->__factories.end ())
\t\t\treturn found->second (std::forward< ConstructorArguments > (args)...);

\t\treturn std::shared_ptr< ObjectType > ();
\t}
private:
\t
\tstd::map< IdType, __factory_function_t > __factories;
};
[/code]
Можно ли избежать копирования аргументов, при вызове found->second (...)? Если объявить creation_function вместе с Args &&... args, то будет несоответствие типов
#459 #477956
Сап, крестач, есть один код
[code lang="cpp"]
namespace __private_details
{
\ttemplate< typename BaseType, typename DerivedType, typename ... ConstructorArguments >
\tstd::shared_ptr< BaseType > creation_function (ConstructorArguments ... args)
\t{
\t\tstatic_assert (ds:is_base_of < BaseType, DerivedType >::value, "wrong derived type");

\t\treturn std::shared_ptr< BaseType > (static_cast<BaseType > (new DerivedType (std::forward< ConstructorArguments > (args)...)));
\t}
}

template < typename IdType, typename ObjectType, typename ... ConstructorArguments >
class Factory
{
\t//using namespace __private_details;
\ttypedef std::shared_ptr< ObjectType > (
__factory_function_t)(ConstructorArguments...);
public:
\ttemplate< typename DerivedType >
\tvoid register_factory (IdType &&id)
\t{
\t\tthis->__factories[std::forward< IdType > (id)] = &__private_details::creation_function< ObjectType, DerivedType, ConstructorArguments... >;
\t}\t
\t
\tauto create (IdType &&id, ConstructorArguments ... args) -> std::shared_ptr< ObjectType >
\t{
\t\tauto found = this->__factories.find (std::forward< IdType > (id));
\t\t
\t\tif (found != this->__factories.end ())
\t\t\treturn found->second (std::forward< ConstructorArguments > (args)...);

\t\treturn std::shared_ptr< ObjectType > ();
\t}
private:
\t
\tstd::map< IdType, __factory_function_t > __factories;
};
[/code]
Можно ли избежать копирования аргументов, при вызове found->second (...)? Если объявить creation_function вместе с Args &&... args, то будет несоответствие типов
#460 #477981
>>477084
сконпелировать и проверить слабо?
#461 #478057
>>477481
>>477457
>>477381
В общем, ребяты, я потестил и результат таков: я все праильно делал. Сначала экспорты, потом конфиг, потом мэйк.

Конфиг действительно читает переменные окружения, добавляет к ним свои параметры и сливает все в config.mk. А make, при наличии config.mk, игнорирует переменные окружения и читает нужные значения из этого файла. Т.е. если делать экспорты не до, а после конфига, до мэйка их содержимое уже не дойдет.
#462 #478079
>>477956
Уверен, что ты поменял тип __factory_function_t на нужный?
#463 #478080
>>478079

> что ты везде поменял тип

#464 #478108
>>478080
>>478079
Проснулся и увидел это. Спасибо
#465 #478112
>>477956
Стесняюсь спросить, это что, абстрактная фабрика?
#466 #478129
Добрый день! Господа буду признателен вам за пассивную помощь.
В чём суть вопроса: изучаю я С++, читаю книги, смотрю видео уроки. Накопилось достаточно теоретических знаний (как мне кажется), но с практикой всё очень плохо.
Суть моего вопроса в следующем: у меня есть задание которое я хочу выполнить сам с минимальной помощью со стороны, но не знаю с какой стороны к нему подойти

Задача заключается в следующем: нужно написать консольное windows приложение которое будет получать на вход два параметра пути к входному(.xlsx) и выходному файлу(выдавать ошибку если значения не верны) и обрабатывать файл.

Как я думаю реализовывать:
0. подключаю <fstream>-для работы с файлами; <ifstream>-для входного файла <оfstream> для выходного;
1. Две строки для параметров входного файла и выходного файлов; (обработка ошибок для входного файла)
2. два объекта по одному для каждого класса ifstream /объект/ (/путь в переменной/) оfstream /объект/ (/путь в переменной/)
...

#include "stdafx.h"
#include <fstream>

using namespace std;

void checkDir (string dirIN)
{
//проверяем входной файл
}

void checkOUTdir (string dirOUT)
{
//проверяем/создаём выходной файл
}

main (){
string dirIN, dirOUT;

cout "Входной файл:";
getline (cin, dirIN)

cout "Выходной файл";
getline(cin, dirOUT);

//Наверное дальше строки не верны, я хотел сказать что ниже по моей задумке должны идти функции работы с самими файлами
ifstream INdir (dirIN)
{
//работаем с файлом
};
ofstream OUTdir (dirOUT)
{
//пишем в файл
};
}
#466 #478129
Добрый день! Господа буду признателен вам за пассивную помощь.
В чём суть вопроса: изучаю я С++, читаю книги, смотрю видео уроки. Накопилось достаточно теоретических знаний (как мне кажется), но с практикой всё очень плохо.
Суть моего вопроса в следующем: у меня есть задание которое я хочу выполнить сам с минимальной помощью со стороны, но не знаю с какой стороны к нему подойти

Задача заключается в следующем: нужно написать консольное windows приложение которое будет получать на вход два параметра пути к входному(.xlsx) и выходному файлу(выдавать ошибку если значения не верны) и обрабатывать файл.

Как я думаю реализовывать:
0. подключаю <fstream>-для работы с файлами; <ifstream>-для входного файла <оfstream> для выходного;
1. Две строки для параметров входного файла и выходного файлов; (обработка ошибок для входного файла)
2. два объекта по одному для каждого класса ifstream /объект/ (/путь в переменной/) оfstream /объект/ (/путь в переменной/)
...

#include "stdafx.h"
#include <fstream>

using namespace std;

void checkDir (string dirIN)
{
//проверяем входной файл
}

void checkOUTdir (string dirOUT)
{
//проверяем/создаём выходной файл
}

main (){
string dirIN, dirOUT;

cout "Входной файл:";
getline (cin, dirIN)

cout "Выходной файл";
getline(cin, dirOUT);

//Наверное дальше строки не верны, я хотел сказать что ниже по моей задумке должны идти функции работы с самими файлами
ifstream INdir (dirIN)
{
//работаем с файлом
};
ofstream OUTdir (dirOUT)
{
//пишем в файл
};
}
#467 #478150
>>478129
Чего ты хочешь то от нас, аутист?
1 #468 #478154
Аноны, скиньте линк на код алгоритма, который определяет есть ли граф двудольным, если такой существует.
#470 #478188
Аноны, подскажите либу, для которой есть детальная документация. От либы нужно, чтобы можно было выводить координатную плоскость, были видны заданные мною фигуры, точки, их координаты.
#471 #478192

>>4/78188


qwt?
#472 #478200
>>478150
Хочу понять как мне сделать консольную прилагу которая на вход получает два файла. Смысл в том что бы инфа из первого файла форматировалась и записывалась во второй.
#473 #478202
Посоны, я тут учил 2 сема си, потом 1 сем сипласплас, и много всего сам писал на них в то время, и курсовой сейчас на них пишу. Стерпелось, слюбилось, привык, понравилось. Новые стандарты делают язык красивым, всем доволен.
И тут я прихожу в компанию, которая учит норм студентов бесплатно и берёт самых успешных на работу, а мне говорят: в Беларуси с++ джуны НИНУЖНЫ. Я, конечно подозревал.
Это правда? Не устроиться юниором на крестиках?
#474 #478209
>>478202
Забыл уточнить, что сейчас немного дрочим WINAPI, POSIX, ассемблерные вставки и работку с портами. Сам пишу свою небольшу ОС. Везде С++.
129 Кб, 250x334
#475 #478215
>>478209
Алексей залогинься!
#476 #478220
>>478202
Ну, бля, ну хуй его знает, ищи стажировки. Говорят, что крестокодеры ещё нужны.
sage #477 #478223
>>478202
Конечно кресты нинужны, ОС и игры давно пишут на JavaScript, он уже обогнал кресты по производительности в 13.37 раз.
#478 #478255
>>478209

> WINAPI, POSIX, ассемблерные вставки


> С++.


Пиздец
#479 #478280
>>478209
Как там в 1996?
#480 #478360
Аноны задача такая: "написать программу, которая вводит с клавиатуры или читает из файла двумерный массив целых чисел размер-ностью [4  5] элементов и выводит его на экран в виде матрицы. Элементы мас-сива в файле могут быть расположены в виде одного столбца или одной строки; "
Ну с клавитаурой все понятно,а вот с файлом я сделал вот так:
int file_enter (int mass[4][5]) {
fstream F;
F.open("C:\\Games\\file.txt");
if (F) {
for (int i = 0; i<=3; i++ ) {
for (int j = 0; j<=4; j++) {
F >> mass [j];
}
}

но это работает только если между числами в файле пробелы. А как сделать чтобы посимвольно считывалось и без пробелов?
#481 #478362
>>478360
там mass[j] естественно
быстрофикс
#482 #478363
>>478362
короче макак не хочет печатать i, ну вы поняли
#483 #478365
>>478360

>тобы посимвольно считывалось


F.get()
#484 #478401
>>478365
не работает
#485 #478410
>>478360
Пример файла то покажи нам, нихуя не понятно, чего ты хочешь.
#486 #478412
>>478410
ну просто файл с числами подряд 1234569877 например
#487 #478416
>>478412

> файл с числами


с цифрами ты хотел сказать?
#488 #478417
>>478416
да я хз, наверно, вообще задание очень расплывчатое мне кажется
186 Кб, 1600x1280
настроек GCC субнить #489 #478447
Суть несколько дней назад описывал в ньюфаг треде. У меня есть программа, алгоритм по методам оптимизации, который распараллеливается при помощи OpenMP

На моём домашнем процессоре последовательная версия ВСЕГДА работает быстрее параллельной примерно на 15-20%, иногда времена практически равны (+-пренебрежимое отклонение)

Код на С++ компилю в GCC под убунтой.

Сегодня закомпилил на компьютере в универе, там был MinGW под Win7 и ВСЁ РАСПАРАЛЛЕЛИЛОСЬ, ускорение в 3-4 раза, в зависимости от числа переменных минимизируемой функции.

Почему такое может быть? Из-за чего? Как настроить свой домашний компилятор, чтобы всё работало правильно?
#490 #478450
>>478447
Дай полностью конфиг компилятора.
#491 #478471
>>478450
где он лежит?
sage #492 #478482
>>478471
Под кроватью посмотри.
#493 #478486
>>478471
В настройках твоей IDE. Если конпелируешь из конслои - то давай консольные команды.
#494 #478508
>>478486
g++ $(gsl-config --cflags) "%e.cxx" $(gsl-config --libs) -fopenmp

там флаги для GSL (GNU Scientific Library) и OpenMP
в MinGW собирал так

g++ -Wall -fopenmp !.cxx -o !.exe
в Far Manager
#495 #478512
>>478508
Что выводит gsl-config --cflags? А gsl-config --libs?
#496 #478514
>>478512
ничего. если в консоли
а так это команды из Geany
#497 #478517
>>478514
Эти команды передают в gcc опции от gsl-config. Разбирайся, что за опции. Без этого хуй знает как тебе помочь.
#498 #478518
>>478512
Ключи GSL, если он см не используется в коде или их отсутствие ничего не меняют
#499 #478519
>>478517

вот >>478518
закомпилил просто g++ -Wall -fopenmp file.cxx -o file

без разницы
#500 #478520
>>478518
Серьезно? ну тогда точно не знаю.
>>478508
Попробуй с -o2 для начала собрать, чтоле. Еще может с -msse соответствующими твоему процессору.
#501 #478523
>>478520
можешь какой-нибудь инфы дать, где почитать по GCC? а то это пальцем в небо тыкать
#502 #478540
Ну вот, настало это время. Кто будет пилить перекат?
#503 #478548
>>478200
Почитай учебники для начала. А потом попробуй поформатировать хотя бы простые текстовые файлы. А то обосрался даже с выводом в консоль, а уже эксели парсить собрался.
#504 #478552
>>478523
man gcc
мимокрокодил
#506 #478604
>>478202
А какие нужны? Не сказали?
#507 #478609
>>478604
Жаба и пхп, очевидно же.
#508 #478652
>>478609
Крестоны привет. Есть вопрос интересный

есть прога с
int main ( int agrc, char *agrv[])
На вход она получает две строки типа C:\Program Files\text1.txt и C:\Program C:\Program Files\text2.txt
Что мне дальше делать с этими параметрами что бы моя программа открывала файлы эти?
#510 #481016
чики чики двощ. Короче задание такое: "вводит с клавиатуры или читает из файла двумерный массив целых чисел размер-ностью [4  5] элементов и выводит его на экран в виде матрицы. Элементы мас-сива в файле могут быть расположены в виде одного столбца или одной строки; "
У меня проблема со строкой. Пишу вот так:
fstream F;
F.open("C:\\Games\\file.txt");
if (F) {
for (int i = 0; i<=3; i++ ) {
for (int j = 0; j<=4; j++) {
F >> mass [j];
}
}

Работает только если между цифрами есть пробел. Как сделать, чтобы считывалось посимвольно строка без пробелов?
#511 #481023
>>481016
Читай посимвольно (F.get()), цифра (isdigit) - отнимаешь '0' и в массив, не цифра - пропускаешь.
#512 #481112
>>481023
не работает
#513 #481129
>>481112
все) разобрался)
#514 #482458
Сап, двощ. Нужна твоя помощь. Необходимо через перегрузку оператора "/" сжимать bmp изображения по палитре, например, было 24 бита -> стало 8 бит. С этим вот разобрался, но также надо, чтобы и до 1 бит сжимало. Как я понимаю, там со сдвигами побитовыми играться надо, да? Помогите разобраться и дописать прогу:

Image Image::operator / (short Depth)
{
\tint x = BMInfoHeader.Width, y = BMInfoHeader.Height, temp = 0;
\tBMInfoHeader.BitCount = Depth;
\tint SizeOfPal = 1;
\tfor (int i = 0; i < Depth; i++)
\t\tSizeOfPal = 2 SizeOfPal;
\tBMFileHeader.OffsetBits = sizeof(BITMAPFILEHEADER) + SizeOfPal
4;
\tBMInfoHeader.SizeImage = DepthBMInfoHeader.HeightBMInfoHeader.Width;
\tBMFileHeader.Size = BMFileHeader.OffsetBits + BMInfoHeader.SizeImage;
\tBMInfoHeader.ColorUsed = SizeOfPal;
\tPalette = new RGBTRIPLE[SizeOfPal];
\tBYTE buf = new BYTE[xy];
\tint freeBits = (4 - (BMInfoHeader.WidthBMInfoHeader.BitCount / 8) % 4) % 4;
\t
\tFILE
f = fopen("OutputPal.bmp", "wb");
\tfwrite(&BMFileHeader, sizeof(BITMAPFILEHEADER), 1, f);
\tfwrite(&BMInfoHeader, sizeof(BITMAPINFOHEADER), 1, f);
\t
\tif (Depth == 1)
\t{
\t\tfor (int i = 0; i < SizeOfPal; i++)
\t\t{
\t\t\tPalette.Blue = i;
\t\t\tPalette.Green = i;
\t\t\tPalette.Red = i;
\t\t\tfwrite(&Palette, 1, 4, f);
\t\t}

\t\tfor (int i = xy; i != 0; i--)
\t\t{
\t\t\t/
\t/
\t\t}
\t\tprintf("Записано в файл OutputPal.bmp c глубиной цвета 1 бит\n\n");
\t}

\tif (Depth == 8)
\t{
\t\tfor (int i = 0; i < SizeOfPal; i++)
\t\t{
\t\t\tPalette.Blue = i;
\t\t\tPalette.Green = i;
\t\t\tPalette.Red = i;
\t\t\tfwrite(&Palette, 1, 4, f);
\t\t}
\t\t
\t\tfor (int i = x
y; i != 0; i--)
\t\t\t{
\t\t\t\tbuf = int(0.299Rgbtriple.Red + 0.587Rgbtriple.Green + 0.114Rgbtriple.Blue);
\t\t\t\tfwrite(&buf, 1, sizeof(BYTE), f);
\t\t\t\tif (i % x == 0)
\t\t\t\t\tfwrite(&rgbtEmpty, freeBits, 1, f);
\t\t\t}
\t\tprintf("Записано в файл OutputPal.bmp c глубиной цвета 8 бит\n\n");
\t}

\tif (Depth == 24)
\t\treturn
this;

\tfclose(f);
\treturn *this;
}
#514 #482458
Сап, двощ. Нужна твоя помощь. Необходимо через перегрузку оператора "/" сжимать bmp изображения по палитре, например, было 24 бита -> стало 8 бит. С этим вот разобрался, но также надо, чтобы и до 1 бит сжимало. Как я понимаю, там со сдвигами побитовыми играться надо, да? Помогите разобраться и дописать прогу:

Image Image::operator / (short Depth)
{
\tint x = BMInfoHeader.Width, y = BMInfoHeader.Height, temp = 0;
\tBMInfoHeader.BitCount = Depth;
\tint SizeOfPal = 1;
\tfor (int i = 0; i < Depth; i++)
\t\tSizeOfPal = 2 SizeOfPal;
\tBMFileHeader.OffsetBits = sizeof(BITMAPFILEHEADER) + SizeOfPal
4;
\tBMInfoHeader.SizeImage = DepthBMInfoHeader.HeightBMInfoHeader.Width;
\tBMFileHeader.Size = BMFileHeader.OffsetBits + BMInfoHeader.SizeImage;
\tBMInfoHeader.ColorUsed = SizeOfPal;
\tPalette = new RGBTRIPLE[SizeOfPal];
\tBYTE buf = new BYTE[xy];
\tint freeBits = (4 - (BMInfoHeader.WidthBMInfoHeader.BitCount / 8) % 4) % 4;
\t
\tFILE
f = fopen("OutputPal.bmp", "wb");
\tfwrite(&BMFileHeader, sizeof(BITMAPFILEHEADER), 1, f);
\tfwrite(&BMInfoHeader, sizeof(BITMAPINFOHEADER), 1, f);
\t
\tif (Depth == 1)
\t{
\t\tfor (int i = 0; i < SizeOfPal; i++)
\t\t{
\t\t\tPalette.Blue = i;
\t\t\tPalette.Green = i;
\t\t\tPalette.Red = i;
\t\t\tfwrite(&Palette, 1, 4, f);
\t\t}

\t\tfor (int i = xy; i != 0; i--)
\t\t{
\t\t\t/
\t/
\t\t}
\t\tprintf("Записано в файл OutputPal.bmp c глубиной цвета 1 бит\n\n");
\t}

\tif (Depth == 8)
\t{
\t\tfor (int i = 0; i < SizeOfPal; i++)
\t\t{
\t\t\tPalette.Blue = i;
\t\t\tPalette.Green = i;
\t\t\tPalette.Red = i;
\t\t\tfwrite(&Palette, 1, 4, f);
\t\t}
\t\t
\t\tfor (int i = x
y; i != 0; i--)
\t\t\t{
\t\t\t\tbuf = int(0.299Rgbtriple.Red + 0.587Rgbtriple.Green + 0.114Rgbtriple.Blue);
\t\t\t\tfwrite(&buf, 1, sizeof(BYTE), f);
\t\t\t\tif (i % x == 0)
\t\t\t\t\tfwrite(&rgbtEmpty, freeBits, 1, f);
\t\t\t}
\t\tprintf("Записано в файл OutputPal.bmp c глубиной цвета 8 бит\n\n");
\t}

\tif (Depth == 24)
\t\treturn
this;

\tfclose(f);
\treturn *this;
}
#515 #482462
>>482458
Попортился код при копи-пасте, прикрепляю ссыль: http://www.everfall.com/paste/id.php?6i3yfulmnhix
6 Кб, 500x313
#516 #482709
Может кто скинуть пример программы, где на пустой форме рисуется линия? Visual studio 2010.
Три часа уже не могу нагуглить(
пикрандом
#517 #484022
Пишу cout<<fixed<<1234.56789; выводит 1234.567890
Пишу cout<<1234.56789; выводит 1234.57
Как вывести 1234.56789?
53 Кб, 514x1329
#518 #487859
Для знающего человека - 5 минут дела. Нужно составить блок-схему для простейшей программы, пример блок-схемы в прикрепленном фото. Можно просто нарисовать на бумаге блоки и сфоткать, будет быстрее и проще.
#Выбрать из заданного массива отрицательные элементы, отсортировать их по убыванию и внести в другой массив.
Код:#include <iostream>
using namespace std;
int main() {
\tsetlocale(LC_ALL, "Russian");
\tint x[10], z[10], temp;
\tint size = 0;
\tcout << "Введите элементы массива" << endl;
\tfor (int i = 0; i < 10; i++)
\t{
\t\tcout << "[" << i + 1 << "] ";
\t\tcin >> x;
\t}
\tfor (int i = 0; i < 10; i++)
\t{
\t\tif (x < 0){
\t\t\tz[size] = x;
\t\t\tsize++;

\t\t}

\t}
\t//Сортировка одномерного массива
\tfor (int i = 0; i<size; i++)
\t\tfor (int j = i; j<size; j++)
\t\t\tif (z<z[j])
\t\t\t{
\t\t\t\ttemp = z;
\t\t\t\tz = z[j];
\t\t\t\tz[j] = temp;
\t\t\t}
\tcout << "(";
\tfor (int i = 0; i < size; i++){
\t\tcout << z << ",";
\t}
\tcout << ")";
\tsystem("pause");
\treturn 0;
}
53 Кб, 514x1329
#518 #487859
Для знающего человека - 5 минут дела. Нужно составить блок-схему для простейшей программы, пример блок-схемы в прикрепленном фото. Можно просто нарисовать на бумаге блоки и сфоткать, будет быстрее и проще.
#Выбрать из заданного массива отрицательные элементы, отсортировать их по убыванию и внести в другой массив.
Код:#include <iostream>
using namespace std;
int main() {
\tsetlocale(LC_ALL, "Russian");
\tint x[10], z[10], temp;
\tint size = 0;
\tcout << "Введите элементы массива" << endl;
\tfor (int i = 0; i < 10; i++)
\t{
\t\tcout << "[" << i + 1 << "] ";
\t\tcin >> x;
\t}
\tfor (int i = 0; i < 10; i++)
\t{
\t\tif (x < 0){
\t\t\tz[size] = x;
\t\t\tsize++;

\t\t}

\t}
\t//Сортировка одномерного массива
\tfor (int i = 0; i<size; i++)
\t\tfor (int j = i; j<size; j++)
\t\t\tif (z<z[j])
\t\t\t{
\t\t\t\ttemp = z;
\t\t\t\tz = z[j];
\t\t\t\tz[j] = temp;
\t\t\t}
\tcout << "(";
\tfor (int i = 0; i < size; i++){
\t\tcout << z << ",";
\t}
\tcout << ")";
\tsystem("pause");
\treturn 0;
}
#519 #489298
сап программач,
у меня есть массив чисел
{ 23, 67, 55, 14, 31, 7, 84, 10}
и есть начальная точка 63 как мне найти ближайшее число из массива в сторону уменьшения(что бы вывело 55)
7 Кб, 204x204
#520 #489383
Помогите пожалуйста реализовать алгоритм взаимного исключения Деккера для WINAPI.
#521 #490139
Анончики. Есть одна задача, вроде легкая, но немного не втыкаю:
Суть в том, что дана матрица, надо представить ее в виде вектора строк и отсортировать по кол-ву нечетных элементов. Именно с матрицей я вроде понимаю что и как, но нахуй этот вектор и как с ним работать?
#522 #490655
Привет, программач. Подскажите, как на C (WinApi) сделать так, чтобы поток приостанавливался на время, но пробуждался при наступлении определенного события(например, клик мшыи)
сортировка по номеру progman #523 #493171
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define _CRT_SECURE_NO_WARNINGS

typedef struct trains
{
int num;
char dest[15];
int time;
int actiontime;
int ticket;
}data;

void add (char);
void edit (char
);
void show (char);
void search1 (char
);
void search2 (char);
void del (char
);
data in(void);

int main(int argc, char argv[])
{
char filename[50];
char menu;
do
{
system("cls");
puts ("1.Add");
puts ("2.Edit");
puts ("3.View");
puts ("4.Info");
puts ("5.Tickets in stock");
puts ("6.Delete");
puts ("7.sort");
puts ("0.Exit");
menu=getchar();
switch(menu)
{
case '1':add(filename);break;
case '2':edit(filename);break;
case '3':show(filename);break;
case '4':search1(filename);break;
case '5':search2(filename);break;
case '6':del(filename);break;
}
}while (menu!='0');
return 0;
}

void add (char
file)
{
FILE f;
data d;
if ((f = fopen("C:\\Users\\Bel313\\Desktop\\програмирование\\test 18\\LAB.BIN", "ab")) == NULL)
{
puts("Error opening file!");
system("pause");
return ;
}
system("cls");
d=in();
fwrite(&d,sizeof(d),1,f);
fclose(f);
return;
}

void sort (char
file)
{

}

void edit(charfile)
{
FILE
f;
data d;
int edit;
system("cls");
if ((f = fopen("C:\\Users\\Bel313\\Desktop\\програмирование\\test 18\\LAB.BIN", "r+b")) == NULL)
{
puts("Error opening file!");
system("pause");
return ;
}
printf ("Enter number to edit:\n");
scanf ("%d",&edit);
fseek(f, sizeof(d)(edit-1), SEEK_SET);
d=in();
fwrite (&d,sizeof(d),1,f);
fclose(f);

return;
}

void del(char
file)
{
FILE f,f2;
data d;
int i, del, p;
system("cls");
if ((f = fopen("C:\\Users\\Bel313\\Desktop\\програмирование\\test 18\\LAB.BIN", "r+b")) == NULL)
{
puts("Error opening file!");
system("pause");
return ;
}
if ((f2 = fopen("C:\\Users\\Bel313\\Desktop\\програмирование\\test 18\\TEMP.BIN","ab")) == NULL)
{
puts("Error opening file2!");
system("pause");
return ;
}
printf("Enter number to delete:\n");
scanf("%d", &del);
for(i=0;fread(&d,sizeof(d),1,f);i++)
if (i!=(del-1))
fwrite(&d,sizeof(d),1,f2);
fclose(f);
fclose(f2);
remove("C:\\Users\\Bel313\\Desktop\\програмирование\\test 18\\LAB.BIN");
rename ("C:\\Users\\Bel313\\Desktop\\програмирование\\test 18\\TEMP.BIN","C:\\Users\\Bel313\\Desktop\\програмирование\\test 18\\LAB.BIN");
return;
}

void show(char file)
{
FILE
f;
data d;
int k=0;
char t;
char tY[10] = "Yes";
char tN[10] = "No";
system("cls");
if ((f = fopen("C:\\Users\\Bel313\\Desktop\\програмирование\\test 18\\LAB.BIN", "rb")) == NULL)
{
puts("Error opening file!");
system("pause");
return;
}
printf("ПЂ Train Destination Departure time (h.) Time to arrival Tickets\n");
while(fread(&d,sizeof(d),1,f))
{
if (d.ticket == 1)
t = tY;
else
t = tN;
printf("%-2d %-12d %-18s %-23d %-13d %-5s\n", ++k, d.num, d.dest, d.time, d.actiontime, t);
}
system ("pause");
fclose(f);
return;
}
data in(void)
{
data d;
int num, time, actiontime, ticket;
fflush(stdin);
puts("Train:");
scanf("%d", &num);
d.num = num;
fflush(stdin);
puts("Destination:");
gets(d.dest);
puts("Departure time:");
scanf("%d", &time);
d.time = time;
fflush(stdin);
puts("Time to arrival:");
scanf("%d", &actiontime);
d.actiontime = actiontime;
fflush(stdin);
puts("Tickets (0 - No, 1 - Yes)");
scanf("%d", &ticket);
d.ticket = ticket;
fflush(stdin);
return d;
}

void search1(char
file)
{
FILE f;
data d;
int found = 0, tif, tit;
char xdest[15],
ptr;
system("cls");
if ((f = fopen("C:\\Users\\Bel313\\Desktop\\програмирование\\test 18\\LAB.BIN", "rb")) == NULL)
{
puts("Error opening file!");
system("pause");
return;
}
fflush(stdin);
printf("Destination: ");
gets(xdest);
printf("Time intrerval (from, h.): ");
scanf("%d", &tif);
fflush(stdin);
printf("Time interval (to, h.): ");
scanf("%d", &tit);
fflush(stdin);
printf("Train Departure time\n");
while(fread(&d,sizeof(d),1,f))
if (!strcmp(d.dest, xdest) && d.time <= tit && d.time >= tif)
{
printf("%-15d %-6d\n", d.num, d.time);
found = 1;
}
if (!found)
{
system("cls");
printf("Not found!\n");
system("pause");
}
fclose(f);
system("pause");
return;
}

void search2(char file)
{
FILE
f;
data d;
int found = 0, tn;
system("cls");
if ((f = fopen("C:\\Users\\Bel313\\Desktop\\програмирование\\test 18\\LAB.BIN", "rb")) == NULL)
{
puts("Error opening file!");
system("pause");
return;
}
fflush(stdin);
printf("Train #: ");
scanf("%d", &tn);
fflush(stdin);
while(fread(&d,sizeof(d),1,f))
{
if (d.num == tn && d.ticket == 1)
{
printf("Tickets in stock!\n");
found = 1;
system("pause");
}
}
if (!found)
{
system("cls");
printf("Tickets out of stock\n");
system("pause");
}
fclose(f);
system("pause");
return;
}
сортировка по номеру progman #523 #493171
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define _CRT_SECURE_NO_WARNINGS

typedef struct trains
{
int num;
char dest[15];
int time;
int actiontime;
int ticket;
}data;

void add (char);
void edit (char
);
void show (char);
void search1 (char
);
void search2 (char);
void del (char
);
data in(void);

int main(int argc, char argv[])
{
char filename[50];
char menu;
do
{
system("cls");
puts ("1.Add");
puts ("2.Edit");
puts ("3.View");
puts ("4.Info");
puts ("5.Tickets in stock");
puts ("6.Delete");
puts ("7.sort");
puts ("0.Exit");
menu=getchar();
switch(menu)
{
case '1':add(filename);break;
case '2':edit(filename);break;
case '3':show(filename);break;
case '4':search1(filename);break;
case '5':search2(filename);break;
case '6':del(filename);break;
}
}while (menu!='0');
return 0;
}

void add (char
file)
{
FILE f;
data d;
if ((f = fopen("C:\\Users\\Bel313\\Desktop\\програмирование\\test 18\\LAB.BIN", "ab")) == NULL)
{
puts("Error opening file!");
system("pause");
return ;
}
system("cls");
d=in();
fwrite(&d,sizeof(d),1,f);
fclose(f);
return;
}

void sort (char
file)
{

}

void edit(charfile)
{
FILE
f;
data d;
int edit;
system("cls");
if ((f = fopen("C:\\Users\\Bel313\\Desktop\\програмирование\\test 18\\LAB.BIN", "r+b")) == NULL)
{
puts("Error opening file!");
system("pause");
return ;
}
printf ("Enter number to edit:\n");
scanf ("%d",&edit);
fseek(f, sizeof(d)(edit-1), SEEK_SET);
d=in();
fwrite (&d,sizeof(d),1,f);
fclose(f);

return;
}

void del(char
file)
{
FILE f,f2;
data d;
int i, del, p;
system("cls");
if ((f = fopen("C:\\Users\\Bel313\\Desktop\\програмирование\\test 18\\LAB.BIN", "r+b")) == NULL)
{
puts("Error opening file!");
system("pause");
return ;
}
if ((f2 = fopen("C:\\Users\\Bel313\\Desktop\\програмирование\\test 18\\TEMP.BIN","ab")) == NULL)
{
puts("Error opening file2!");
system("pause");
return ;
}
printf("Enter number to delete:\n");
scanf("%d", &del);
for(i=0;fread(&d,sizeof(d),1,f);i++)
if (i!=(del-1))
fwrite(&d,sizeof(d),1,f2);
fclose(f);
fclose(f2);
remove("C:\\Users\\Bel313\\Desktop\\програмирование\\test 18\\LAB.BIN");
rename ("C:\\Users\\Bel313\\Desktop\\програмирование\\test 18\\TEMP.BIN","C:\\Users\\Bel313\\Desktop\\програмирование\\test 18\\LAB.BIN");
return;
}

void show(char file)
{
FILE
f;
data d;
int k=0;
char t;
char tY[10] = "Yes";
char tN[10] = "No";
system("cls");
if ((f = fopen("C:\\Users\\Bel313\\Desktop\\програмирование\\test 18\\LAB.BIN", "rb")) == NULL)
{
puts("Error opening file!");
system("pause");
return;
}
printf("ПЂ Train Destination Departure time (h.) Time to arrival Tickets\n");
while(fread(&d,sizeof(d),1,f))
{
if (d.ticket == 1)
t = tY;
else
t = tN;
printf("%-2d %-12d %-18s %-23d %-13d %-5s\n", ++k, d.num, d.dest, d.time, d.actiontime, t);
}
system ("pause");
fclose(f);
return;
}
data in(void)
{
data d;
int num, time, actiontime, ticket;
fflush(stdin);
puts("Train:");
scanf("%d", &num);
d.num = num;
fflush(stdin);
puts("Destination:");
gets(d.dest);
puts("Departure time:");
scanf("%d", &time);
d.time = time;
fflush(stdin);
puts("Time to arrival:");
scanf("%d", &actiontime);
d.actiontime = actiontime;
fflush(stdin);
puts("Tickets (0 - No, 1 - Yes)");
scanf("%d", &ticket);
d.ticket = ticket;
fflush(stdin);
return d;
}

void search1(char
file)
{
FILE f;
data d;
int found = 0, tif, tit;
char xdest[15],
ptr;
system("cls");
if ((f = fopen("C:\\Users\\Bel313\\Desktop\\програмирование\\test 18\\LAB.BIN", "rb")) == NULL)
{
puts("Error opening file!");
system("pause");
return;
}
fflush(stdin);
printf("Destination: ");
gets(xdest);
printf("Time intrerval (from, h.): ");
scanf("%d", &tif);
fflush(stdin);
printf("Time interval (to, h.): ");
scanf("%d", &tit);
fflush(stdin);
printf("Train Departure time\n");
while(fread(&d,sizeof(d),1,f))
if (!strcmp(d.dest, xdest) && d.time <= tit && d.time >= tif)
{
printf("%-15d %-6d\n", d.num, d.time);
found = 1;
}
if (!found)
{
system("cls");
printf("Not found!\n");
system("pause");
}
fclose(f);
system("pause");
return;
}

void search2(char file)
{
FILE
f;
data d;
int found = 0, tn;
system("cls");
if ((f = fopen("C:\\Users\\Bel313\\Desktop\\програмирование\\test 18\\LAB.BIN", "rb")) == NULL)
{
puts("Error opening file!");
system("pause");
return;
}
fflush(stdin);
printf("Train #: ");
scanf("%d", &tn);
fflush(stdin);
while(fread(&d,sizeof(d),1,f))
{
if (d.num == tn && d.ticket == 1)
{
printf("Tickets in stock!\n");
found = 1;
system("pause");
}
}
if (!found)
{
system("cls");
printf("Tickets out of stock\n");
system("pause");
}
fclose(f);
system("pause");
return;
}
progman #524 #493172
как её сделать?
#525 #494097
возможно ли инициализировать указатель во время обьявления не использую дополнительно простую переменную?
что -то типа int* ptr=new int(10); только без new
и нужно ли? Догадываюсь что может память не освободиться когда данные на которые указывает указатель стали не нужны, так ли это?
#526 #494100
>>494097

>>не используя

#527 #494709
Програноны, выручайте.
Где можно прочитать про дискретизацию и квантование изображений в Qt? (В Шлее не нашёл нихуя, гугл молчит).
3 Кб, 103x60
3 Кб, 123x60
Qt 4.8 QListView #528 #495245
Двач, есть один QListView на самом деле два. Как установить выделение на первый элемент в списке по умолчанию? Есть, например, такой код http://pastebin.com/Nf7pzeK2 , который позволяет перемещаться по списку с помощью хоткея и отображать содержимое папки в другом QListView. Но он работает только после того, как выделение будет установлено на один из элементов с помощью мышки либо стрелок на клавиатуре. Как ты уже догадался, анон, в системе нет мышки и нормальной клавиатуры, поэтом жизненно важно выделение первого элемента в списке автоматически. Помогач!
selectionModel()->select() тоже пробовал, не помогает. Ткните меня туда, где написано как это сделать. С меня нефть.
#529 #495319
>>495245
Погуглил за тебя зачем-то, не знаю оно ли
listWidget->item(0)->setSelected(true);
#530 #495327
>>495319
Хуйню нагуглил, которую я тоже находил. Но и на том спасибо.
Тред утонул или удален.
Это копия, сохраненная 12 июня 2015 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски