Этого треда уже нет.
Это копия, сохраненная 1 декабря 2018 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
cppman.jpg36 Кб, 1024x576
C++ №77 /cpp/ 1286157 В конец треда | Веб
что то для старта есть здесь:
https://github.com/sosachbot/cppthreadhat/wiki
если честно, не смотрел че там по ссылке

книги не успевают за развитием языка, статьи в интернетах по большей части уровня "я вчера это узнал, а сегодня пишу вам", хочешь быть в тренде - смотри видео с конференций, если сам по ним не катаешься, само собой
движуха конкретно по языку:
cppcon russia
https://www.youtube.com/channel/UCJ9v015sPgEi0jJXe_zanjA/featured
corehard братишек-белорусов
https://www.youtube.com/channel/UCifgOu6ARWbZ_dV29gss8xw
cpp-party от ребят из яндекса
https://events.yandex.ru/events/cpp-party/
cppcon
https://www.youtube.com/user/CppCon
boostcon
https://www.youtube.com/user/BoostCon/featured
meeting c++ от дойчей
https://www.youtube.com/user/MeetingCPP/featured
старички accu
https://www.youtube.com/channel/UCJhay24LTpO1s4bIZxuIqKw/featured
алсо, специализируетесь на чем то? хайлоад? микроконтроллеры? геймдев? - ищи специализированную конфу и видео с нее
2 1286166
касательно онлайн курсов для новичесов
imho, на степике лучше пройти курс от cs center, чем аналогичный от mail.ru, это
https://stepik.org/course/7
и его продолжение
https://stepik.org/course/3206
если у кого то есть положительный опыт прохождения других онлайн курсов - пишите в тред
3 1286180
сап двач , у меня вопрос , если я в цикле for запустил while , то сначала полностью отработает while , а только потом заработает следующий for ,
4 1286190
дали задание на многопоточность:умножить 2 матриц.Я правильно понимаю что нужно в одном потоке(пусть их всего 2) обработать половину строк и столбцов и во втором другие половины.Так?
5 1286191
>>86180

>запустил


Ты об этом неправильно думаешь, начинай сначала.
6 1286192
7 1286193
>>86190
Нет, тебе надо на каждую единицу данных которую можно посчитать независимо запускать отдельный тред.
В твоём случае это на каждую строку в левой матрице
8 1286199
>>86193
На каждую комбинацию строки левой и столбца правой, вернее
9 1286336
Если я найду какой - нибудь обычный видео курс на Ютубе по стандартной библиотеке, вместо того, чтобы читать книжку из шапки ? То я многое потеряю?
10 1286475
double number;
vector<double> numbers;
while (cin>>number) {
while (numbers.size()<3){
numbers.push_back(number);
cout << numbers[numbers.size()-1] << '\n';
}
}
Мне нужно, чтобы после ввода числа оно сразу же выводилось, но проблема в том, что оно выводится 3 раза вместо одного и в том,что выводящееся записывается в вектор.
11 1286479
>>86475

>while (numbers.size()<3){


Шо за говно и зачем?
12 1286480
>>86479
В векторе должно быть только 2 элемента.
13 1286482
>>86475
while (cin>>number) && (numbers.size()<3) {
numbers.push_back(number);
cout << numbers[numbers.size()-1] << '\n';
}
14 1286483
15 1286497
>>86157 (OP)

> /cpp/ /cpp/


Мудак.
16 1286601
Вот если я объявляю переменную в блоке, то после выполнения блока, будет ли память, которую юзала переменная, свободной и использованной в будущем?
17 1286631
>>86601

>что такое стек

18 1286645
мда, ребятки, че-то совсем слабенько
19 1286669
>>86645
Да вообще тупые вопросы какие-то
20 1286720
>>86669
А чего ты хотел от школьника, хочущего войти в айти?
21 1286730
>>86720
Плюсы для этого хуеватый выбор
22 1286747
>>86730
Учитель в школе решил, что норм.
23 1286803
>>86157 (OP)
Господа, чего можно не особо громоздкого навернуть чтобы иметь представление о последнем стандарте плюсов?

Мне для общего развития. Жизнь-то по-всякому повернуться может, авось и приятную работейку на крестах встречу.
Был даже знакомый стартаперо-хуяпер, который в датасайнс укатился, грил что если из крестов пользовать самые последние фичи то в целом это один из приятнейших языков для вкатывания в 2к18 если ты не веб-макак.

Сам я пока наткнулся ровно на то почему в своё время в плюсы не полез - чудовищный исторический разброс применяемых методов даже в плане чистых бестпрактис. Вплоть до того что в книгах ДОСовские идиомы встречаются.
24 1286821
>>86803
На крестах каждый вырабатывает бест практисес сам себе. Если ты этого не можешь, то в кресты тебе рано.
25 1286883
>>86747

>Учитель в школе решил, что норм.


В 90-х было норм. Сейчас у школоты дефицит концентрации и внимания. Им лучше Scratch изучать.
26 1287006
>>86883
Лучше б как все, с питончика
С чистый если очень уж хочется работу с памятью показать
А насчёт scratch кстати у нас в школе применяли какой-то графический язык, было норм
27 1287018
>>86803
Последня книга Мейерса "Эффективный и современный С++", в котором поднимаются вопросы изменений в языке с С++11 и С++14.
Это абсолютный минимум, но который уже требует от тебя бекграунда в С++, а именно четкого понимания того, зачем вообще потребовалось расширять стандарт языка и его возможности, то есть требует знания С++98.
Дальше все хуже. Статьи в интернете - мусор по большей части. Что может помочь - это видео с конференций в шапке. Есть еще второе издание "Шаблонов С++" Джосаттиса, в котором более-менее детально описывается что произошло с шаблонами в С11 и С++17. Эта книга замечательная, появился русский перевод по сумашедшей цене, но для практикующего разраба это стоит того. Есть второе издание "Стандартной библиотеки" Джосаттиса, там stl стандарта С++11. В книге "Параллельное программирование на С++ в действии" Энтони Уильямса обсуждаются и используются средства поддержки параллельного исполнения в стандарте С++11. Для большинства же изменений в стандарте с трудом можно найти вменяемое объяснение что и как. Приходится тупо набивать шишки на практике и пытаться хоть-что то понять обращаясь к тексту самого стандарта, который теперь просто монструозен по объему.
28 1287021
>>87018
Начал изучать Go и просто охуел от того как просто и понятно можно всё сделать. Нужен С++2 или ещё что, обратная совместимость это пиздец на таком промежутке времени
29 1287032
>>87021

>Начал изучать Go и просто охуел от того как просто и понятно можно всё сделать.


Особенно обобщённый код.
30 1287034
>>87032
О нет, как же я обойдусь без 20 страниц логов на каждую ошибку
31 1287039
>>87034
Будешь ручками/скриптами/vim-ом генерировать код.
32 1287045
>>87039
В го кстати хотят генерики какие-то сделать
Но вот я сейчас задумался о своих словах об обратной совместимости и понял что не прав. По сути с++ определяется обратной совместимостью и если её убрать то останется просто ещё один язык, как раст или д, да ещё с ебанутой системой дизайна комитетом
33 1287049
34 1287052
>>87045

>останется просто ещё один язык, как раст или д


ммм, за крестами стоит огромное количество инструментария разработки, библиотек на все что угодно, наработанных десятилетиями практик, книг и материалов
35 1287053
>>87052
За жабой побольше.
36 1287055
>>87052
Это все есть пока есть обратная совместимость...
37 1287057
>>87052
Средствами разработки я бы кстати не стал хвастаться, кек
38 1287059
>>87053
да ладна
явка выстрелила в ентерпрайзе, это да
особенно все что касается middleware, по сути в этой области решения на яве задавили все остальное
сишка и кресты же - универсальный инструмент
39 1287060
>>87057
а что не так? чего тебе не хватает в инструментарии, пару примеров, для того чтобы продолжить обсуждение?
40 1287063
>>87060
Менеджмент пакетов
Средства работы с сетью в стандартной библиотеке
41 1287080
>>87063
дело движется к тому что в следующие стандарты таки в стандартную библиотеку добавят средства работы с сетью
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/n4771.pdf
но это встречает некое сопротивление, в том числе и по идеологическим причинам, основанных на том что невозможно создать эффективную универсальную библиотеку для работы с сетью, это будет всегда компромис
ну а существующих библиотек полно
42 1287085

>Менеджмент пакетов


тоже активно развиваются последнее время, движуха идет
43 1287178
Сап, двач. Такой вопрос. Есть последовательность байтов. Хранить её планирую в векторе беззнаковых чаров. В неё нужно класть как однобайтовые, так и 2 и более байтовые цифры.
То есть если надо положить какой-нибудь uint16, то сначала идёт(допустим) старший байт, затем младший.

Ничего умнее следующего пока не придумал, но я думаю что должны быть способы.

template<typename T>
void insert(std::vector<unsigned char>& vec, const T elem)
{
const auto ptr = reinterpret_cast<unsigned char>(&elem);
for (int i = 0; i < sizeof(elem); i++)
vec.push_back(*(ptr+i));
}
44 1287196
>>86475
>>86482

Страдать хуйнёй, так страдать

while(vec.size() < n)
vec.push_back(static_cast<int>(std::cin.get()));
45 1287213
>>87178

>есть последовательность байтов, но планирую класть туда цифры


Твой метод не годится потому что ты не знаешь какая на твоём процессоре эндианность
Вообще непонятно что ты хочешь сделать, это говно не распаковать потом
46 1287224
>>87178

>


>const auto ptr = reinterpret_cast<unsigned char>(&elem);


>for (int i = 0; i < sizeof(elem); i++)


>vec.push_back(*(ptr+i));


>}


Храни вектор векторов, блджад
47 1287276
Ребят такой вопрос по Visual Studio 2017. Поставил WDK и SDK для 10. Теперь при компиляции проектов. Пишет "warning MSB8038: устранение рисков Spectre включено, однако библиотеки Spectre с устраненными рисками не найдены."

Нашел в свойствах проектах эту настройку и отключил. Но этот конфиг по умолчанию для всех проектов врубился. Как мне для всех создаваемых проектах вырубить эту настройку "Устранение рисков Spectre", постоянно в каждом проекте заходить и вырубать совсем бред...
48 1287349
>>87213
На эндианность забей, её поправить 10 минут
49 1287525
>>87224
или вектор из юнионов
50 1287837
>>87349
10 хуют, ты в рантайме эндианность не знаешь, программа непредсказуема
51 1287911
расскажите о перспективах крестов. Сам работаю веб мартыханом уже несколько лет, давно мечтаю перекатиться в более серьёзное программирование, задрочить алгоритмы и устроиться в яндекс или подобную контору.

в универе были кресты и какое-то представление имею о них, но не уверен в их перспективности. Знаю, что много совковых нии-параш, где люди десятилетиями пишут си подобный крестокод без каких-либо современных технологий за копейки: это типичная работа для крестовика в рашке? или скорее исключение из правил и большая часть вакансий - машин лёрнинг с нейронными сетями и искусственным интеллектом и алгоритмами?

не лучше ли вкатываться в джаву/скалу/свифт? питон не перевариваю

буду ждать адекватных анонов
52 1287919
>>87911

>о перспективах


если одним словом: становятся специализированным инструментом
если с точки зрения работы: нужно много знать, тупо много учить, денег будешь получать при этом меньше чем если бы занялся каким-то другим программированием
если действительно хочешь вкатываться - проверь себя: открой на середине "шаблоны с++" джосаттиса или майерса посленюю книгу или какой-нибудь доклад с cppcon или boostcon или, еще лучше, любую библиотеку мета-программирования из boost и спроси себя, потянешь ли ты это
и при этом будь готов работать за 80 в дс уже зная все это
53 1287920
>>87063

>Менеджмент пакетов


в линуксе репозитории и так выполняют функции менеджера пакетов, например
54 1287982
>>87911
все так, в НИИ ебашут на крестах и ку-тэ за 45-80 т.р. (МАКСИМУМ) кадрам с 10 годами платят может около 90. Работа тупая, откатные проекты и прочее говно, перспектив никаких.
55 1288042
>>87919

>boost

56 1288144
Аноны, всем добра, можете подсказать, что можно добавить в мейн функцию, чтобы она не казалась пресной ?
Дело в том, что программа по сути вычисляет хуйню и все.Нужно обязательно задействовать функции, по этому все вычисления происходят у меня в отдельной функции, начиная с "Insert..." заканчивая выводом результата. Препод доебывает, говоря что в главной должно быть хоть что-то, а я хуй знает что туда добавить, кроме как
cout << "" << endl;
...
namefunct();
system("pause");
return 0;

Может у вас есть варианты ?
57 1288145
>>88144
Вынеси ввод и вывод данных в мейн, вычисления оставь в отдельной функции
58 1288147
>>88145
Хорошо, сейчас сделаю( по правде я так планировал с самого начала сделать)
А можно какой-нибудь цикл добавить, который будет тоже участвовать в процессе, но чтобы не переписывать само вычисление(для меня это оказалось не слишком легкой задачей, т.к. вникать начал не так давно)
59 1288155
>>88147
Ну да, сделай цикл "ввод - вычисления - вывод" который будет повторяться бесконечно пока пользователь не введет команду на выход
60 1288156
>>88155
Спасибо, теперь попробую понять как это все провернуть уже в писанине. Добра тебе.
61 1288169
>>87911
Забей ты хуй на кресты. Зп ниже чем у жавистов, голова болит больше. Да и кресты уже не те кресты, а какое то новомодное говно. И если выбирать между ними то жава однозначно
62 1288172
>>87920
дурачок чтоли? перечетай свое сообщение еще раз
63 1288177
>>88169
Кресты выбирают за нативный код и полное управление памятью, они с джавой не конкурируют
64 1288183
>>88177
Шутишь? Нативный код и полное управление памятью - это к Сишечки. Какое говно генерирует крестовый компилятор - это еще гадать надо.
65 1288194
>>88183
Все с тобой ясно
66 1288199
>>88172

еще раз: репозиторий дистрибутива прекрасно выполняет роль менеджера пакетов для с++
67 1288200
>>88183

>Какое говно генерирует крестовый компилятор - это еще гадать надо.


ты всегда можешь смотреть ассемблерный выхлоп компилятора
вообще то это стандартная практика при любой оптимизации кода, даже не нужно проводить замеры и прочее, глянул что сгенерились правильные инструкции и значит ты на верном пути
68 1288220
В SFML есть нормальный способ рисования пикселей?
69 1288221
>>88220
Можешь использовать винапи SetPixel(...)
70 1288226
>>87919
А с ссями какова ситуация?
71 1288360
>>88226
Кодить дрова и микроконтроллеры. В РФ - это работать в НИИ за еду.
72 1288395
в группе в контакте "с++" 22 тысячи участников
целая армия
роботодатели могут выбирать и платить копеечку
73 1288398
>>87919
>>87982

>кадрам с 10 годами платят может около 90


>при этом будь готов работать за 80 в дс уже зная все это


пиздец полный, через год работы джуном на пыхе получал уже больше. Печаль-беда, придётся оставаться веб-какахой изи перекатываться в джаву для удовлетворения жажды знаний. Ну или свифт (только кому он нахуй нужон)
75 1288418
>>88400

>А это что тогда?


Редкое исключение.
76 1288442
Объясните одну хуйню плиз
только учить кресты начал, не закидывайте камнями
В чём минусы использования класса string?
77 1288464
>>88442
string a, b, c;
..
string s = a+b+c; <= сколько здесь раз вызовется конструктор строк? ответ: зависит от реализации
78 1288466
>>88464

>ответ: зависит от реализации


Шта?
79 1288471
>>88442
У всех stl контейнеров одна проблема: динамическое выделение памяти
82 1288479
83 1288481
>>88477
Не знаю к чему ты это приплёл, память может просто физически закончиться и всё
84 1288482
++ анон 85 1288485
Ребзи, что значит вот эта штука после описания структуры например? struct name {}val; вот после фигурных скобок указывается, как это называется? гуглю че то не правильно подскажите плз, почитаю
86 1288488
>>88485
Это имя инстанса
87 1288492
>>88481
Довен. Ты наезжал на динамическое выделение памяти. Значит ты знаешь, сколько тебе заранее нужно.
Ну так выдели сколько нужно и используй.
88 1288493
>>88492
Тогда исчезает смысл использования стринга, потому что ты всю память кже заранее выделил
89 1288494
>>88493
Тогда исчезает смысл жаловаться на динамическое выделение памяти, если ты используешь string.
90 1288495
>>88494
Зачем мне использовать стринг если он не даёт преимуществ
91 1288850
>>88495
што значет не дает?
1. Small String Optimization - относительно небольшие строки не требуют динамических аллокаций
2. AllocatorAwareContainer - со стандартными стрингами можно использовать кастомные аллокаторы. Охуенно, если ты хочешь память поконтролировать.
3. std::string - алиас для специализированного char-ами типа std::basic_string, который охуенен тем, что поддерживает не только 1-байтные символы, но и больше. Никогда не забывай про Юникод, программы щас не только американцы используют
4. std::char_traits - мало того, можно еще и кастомизировать привычные операции для стандартных строк.
Хочешь, чтобы у тебя были новые пиздатые строки, которые можно сравнивать, игнорируя то, заглавные ли символы или строчные? Запили новые char_traits, делай алиас
using MyCaseInsensitiveString = std::basic_string<char, MyCaseInsensitiveCharTraits> и на нахуй, у тебя есть твои пиздатые строки, не надо писать васянские функции compareCaseInsensitive, потому что у тебя из коробки есть operator==, который сделает то, что надо.

Вот, читни про это вот всё, прежде чем говорить, что какая-то поебня не дает преимуществ: https://en.cppreference.com/w/cpp/string/basic_string
92 1288892
>>88850
Говно и не нужно
93 1288898
>>88892
Как и плюсы
94 1289137
https://moikrug.ru/vacancies/1000045444
мой круг интересен тем, что показывает количество просмотревших вакансию
вот, например, 2500 просмотров
так чтож работодатели имеют из чего выбирать, их, наверное, завалили резюмехами
95 1289140
>>89137

>https://moikrug.ru/vacancies/1000045444


>напишите свой telegram


сразу на хуй
96 1289198
,hj
97 1289456
Минимальные требования к миду в 2k18:

Общее представление об структурах и алгоритмах; C++14/17; RAII и как правильно его готовить (move семантика, чем отличается prvalue от xvalue, умные указатели (чем make_shared отличается от shared_ptr)); Паттерны-хуятерны; динамический полиморфизм (плюсом будет знание, как делают «виртуальные» функции на сях, почему штатный полиморфизм в плюсах плох, разницу между сообщениями и методами (и почему существуют такие библиотеки как Folly.Poly, dynamix, dyno)); статический полиморфизм; метапрограммирование; По многопоточности: потоки, блокировки (желательно знать еще транзакционную память и как её использовать (смотри TBB) ), атомарные опрерации (желательно иметь предстовление о memory order, strong/weak опреации), конкурентные структуры, общее представление о lock-free алгоритмах ( wait-free будет плюсом, но я так и не нашел где они используются за пределами академической среды); общее представление о гетерогенном программировании (task based программирование, flow graph (смотри все в TBB, она должна стать, де факто, твоей основной библиотекой по многопоточности)) Ближе к хардверу: представление о том, что твой код будет представлять (x86 ассемблер, особенно со всеми расширениями - боль, можно понимать LLVM IR и ты мало что потеряешь от этого); само собой, как компиляция происходит, общее представление о posix (когда его применять);
Еще плюсом будет умение грамотно пользоваться менеджерами пакетов типо conan; правильно деплоить свое приложение; общие скиллы для программиста(система контроля версий, анализаторы, сайнитайзеры, форматеры кода, jira, уметь в тайм-менеджмент и не заваливать дедлайны); следить что там происходит в мире плюсов;
98 1289459
>>89456
Этого даже для джуна мало.
99 1289465
>>89459
Братиш, запили мне плез threadsafe lockfree unordered map, да с итераторами, ты ж молодой да шутливый, тебе всё легко.
100 1289471
>>89456
Я даже половины слов то не знаю таких.

Мимо-сениор-300ккк-в-пикосекунду
101 1289474
>>89456
И что, всё это говно реально чем-то помогает разработчику?
102 1289482
>>89474
нет, но мы же в треде про с++
103 1289500
>>89465

>запили


Джун и мидл, да и сеньор — это не про запиливание lockfree структур данных.
Этим специально обученные люди занимаются. Ну или просто такая структура берётся на стороне.
104 1289502
Пиздец, не заходил в тред год+, остались какие-то вонючие шизоиды. Твари, скатили тред.
106 1289509
>>89502
Пописял на тебя.
107 1289511
>>89456

>чем отличается prvalue от xvalue


Насколько это важно знать? я не ищу оправдание не знать, т.к. мне поздно уже его искать
108 1289520
>>89456

Я всё это знаю и умею. Где мне за моё задрочество будут платить мильон в месяц?
109 1289564
Есть ли смысл вообще отказаться от всех сырых невладеющих поинтеров в пользу optional reference_wrapper?
Что требуется для запуска программы, написанной на C++? 110 1289612
Нужен ли для работы самого простого Hello World'а какой-нибудь Visual Studio C++ Redistributable? Или какие-то библиотеки, которых нет на винде по умолчанию? Покопался я в exe'шнике, получившемся при компиляции следующего кода:

#include <iostream>
int main() { std::cout << "Hello, world!\n"; }


И нашел следующие записи Ctrl+F -> "dll":

libgcc_s_dw2-1.dll
libgcj-16.dll
KERNEL32.dll
libmingwex-0.dll
msvcrt.dll
libgcc_s_dw2-1.dll
libstdc++-6.dll


Этого же нет на винде изначально, тогда как решается эта проблема?
111 1289637
>>89612
Молебен за упокой
112 1289681
>>89520
там написано что это минимальные требования к миду касательно знания собственно крестов
помимо этого тебе нужно знать английский и иметь базовые social skills
и, да, платить тебе будут не "мильон в месяц", а 80-100 и это в дс
113 1289703
>>89681
Зачем в таком случае сидеть в дс?
Можно в любую страну ес переехать и зарабатывать получше
114 1289707
>>89703

>Можно в любую страну ес


конечно, перед тобой все двери отрыты нет
115 1289708
>>89707
Пишу из ес, так-то
116 1289713
>>89708
прибалтика? не смеши анончиков
117 1289715
>>89713
Ну платят по крайней мере получше, и от россии политически далеко
image.png162 Кб, 1920x1006
118 1289727
Код компилится, брат жив, но qt creator продолжает ругаться.
image.png32 Кб, 720x641
119 1289750
В прошлом треде не ответили, репостну в этот, может за месяц шарящий анон поможет
Прошу помощи. Хотел разобраться с тем как работает next_pemutation и завис. Нашёл хорошую статью на стаковерфлоу, там всё достаточно чётко обьяснили. Но я всё равно не пойму. Как функция меняет значения с 1243 до 1324 за один переход цикла? Я так понимаю мы берем число и проверяем, что если все числа справа от него в убывающем порядке то больше возможных комбинаций справа нет. Но как блять оно перешло с 1243 до 1324, там ведь только свап нужен. И как работает while (!(i < --k)), оно должно выбирать наибольший элемент или как? И почему j меняет значение только иногда, оно ведь по идее должно с каждой итерацией меняться, разве нет? Статью с оверфлоу и скрин вывода вывод значений я для удобства добавил прикладываю. https://stackoverflow.com/questions/11483060/stdnext-permutation-implementation-explanation
120 1289770
>>89750
while (!(i < --k)) исполняется только когда все числа справа от i в убывающем порядке и исчет справа, соответсвенно оно найдёт наименьшую цифру которая больше *i и тем самым обеспечит минимальный переход при пермутации
121 1289772
>>89770
Вернее оно исполняется всегда, но и исчет всегда в сете который убывает
122 1289773
>>89770
О, тот самый шарящий анон. Если не устал то можешь помочь на остальные вопросы ответить? Я то я сидел с бумажкой и ручкой писал, и в итоге всё равно где-то туплю. Первый час я правда потратил чтобы понять что после while(!(i < *--k)) нет фигурных скобок сука
123 1289774
>>89750

>Но как блять оно перешло с 1243 до 1324, там ведь только свап нужен


1324-1243 < 1342-1243, просто свапа мало, надо и остальные цифры привести в порядок возрастания чтобы алгоритм выбрал пермутации 13хх
124 1289775
>>89773
Там же даже написно что пасс
image.png9 Кб, 298x248
125 1289777
>>89774
Видимо не так написал, я хотел сказать что там только свап выполняется если условие верно. Как оно меняет сразу 3 цифры местами?
126 1289778
>>89772
Ищет* лол
127 1289779
>>89777
Реверс не видишь?
128 1289780
>>89779
Бля, я читал это как reserve, думал оно место резервирует для комбинации. Сейчас почитаю про нее. Пиздец я тупой
129 1289781
>>89750
J меняет значение если все цифры справа в убывающем порядке, то есть итерации исчерпаны. После этого цифра высшего порядка меняется и для все цифр справа всё начинается снова, тут есть некоторая рекурсивность
130 1289782
>>89780
Это in-place алгоритм, он не выделяет никакой памяти и даже не знает какого типа значения он пермутирует, как бы он выделял память или ещё что?
131 1289785
>>89782
Да я понял что протупил. Я вот всё равно не пойму смысл while(i < *--k). Что будет если оно вернёт false? Цикл ведь дальше пойдет?
132 1289786
>>89785
Если он вернёт false это значит что он нашёл новую цифру высшего порядка и теперь будет её ставить на место
133 1289789
>>89786
Не пойму как он это будет делать. Вот если стрелочками показать ну или написать просто то какой код будет исполнятся если вернется фолс? Если тру то цикл просто пойдет дальше выходит.
134 1289790
>>89789
Если он тру то он декрементит k и больше ничего не делает, если он фолс то выполняется свап и реверс и ретурн тру, новая пермутация найдена
135 1289792
>>89790
Вооооо. Спасибо большое. Все части кода я вроде более-менее понял. Сейчас будет свободных часов 5 впереди, буду сидеть разбираться пока не смогу написать аналогичный алгоритм сам. Какой-то очень адекватный анон пошёл.
136 1289842
Всем здрасьте. Хочу разобраться с литералами. Вот считывать сколь угодно длинные строки я умею, а как считывать сколь угодно длинные числа? В какие переменные их можно положить и как?
137 1289963
>>89842
В текстовые! А потом или ручками или библиотекой считать по правилам символьной арифметики.
138 1290004
>>89963
Не очень понял, но предлагается написать что-то типа
my_long_int(const string num)???
А как такая конструкция будет считывать записи типа
my_long_int mli = 1234 ???
И еще вопрос, попробовал скомпилировать, плюсы вообще не хотят работать с числами, в которых много знаков.
139 1290007
>>86166

>https://stepik.org/course/7



Сейчас прохожу https://www.coursera.org/learn/c-plus-plus-white/
В целом курс для новичка сложноват.
140 1290022
>>90004

>попробовал скомпилировать, плюсы вообще не хотят работать с числами, в которых много знаков


????????????????????????
????????????
?????????????????????????????????????????
??????
141 1290055
>>90022
Короче вопрос такой. Могу ли я поймать в какую-то переменную число из 60 символов и если могу то в какую максимально примитивнуюпеременную? В смысле там есть реализация в бусте длинной арифметики, но я что-то не смог найти конструктор этих чисел и посмотреть во что там собственно ловят.
142 1290061
>>90055
gmplib.org
143 1290063
>>90061
Что это? Внешняя библиотека? Мы же разговор про встроенные в плюсы штуки ведем.
144 1290064
>>90063
какие штуки?
145 1290066
>>90064
X number = 123456789012345678901234567890
Существует такой встроенный тип X или способ, как что-то подобное реализовать?
146 1290070
>>90066
gmplib.org
147 1290073
>>90070
Сука, я же обещал себе не заходить в этот тред поле того, как ни один человек в нем не знал, что такое ПОД-типы и какие у них особенности инициализации.
Нахуй вы вообще что-то пишите если в плюсах на уровне школьника разбираетесь?
148 1290077
>>90073

>Кудах

149 1290088
>>90066
Не существует. Стандарт это позволяет, но нужно реализовать компилятор с соответствующим расширением, делающим валидным литералы бесконечной длины.
150 1290091
>>90088
Спасибо, анон.
151 1290102
>>90066
Лучшее, что ты можешь с подобным синтаксисом - использовать какой-нибудь кастомный тип для большой арифметики и user-defined literals, чтобы конструировать из строки с цифрами число, как тут уже сказали:

struct BigInteger {
unsigned long digits;
};

BigInteger operator""_bigint(const char* value, unsigned long len) {
return { len };
}

void foo() {
BigInteger x = "123213213124512512542132213"_bigint;
}
152 1290113
>>90102

>BigInteger x = "123213213124512512542132213"_bigint;


Не, я хочу
BigInteger x = 123213213124512512542132213
Но видимо, так сделать нельзя.
153 1290128
Как понять в qt когда надо делать delete для объекта, а когда нет? А то в руководствах нихуя не чистят после выделения памяти в куче и у меня диссонанс какой-то.
154 1290131
>>90128
У объекта есть owner, который чистит всех у кого он числится влалельцем. Соответственно если овнер не нулевой, то чистить не надо, надо чистить только самый топовый объект
155 1290134
>>90131
То есть QApplication и главное окошко надо почистить? А вообще что лучше использовать, .deleteLater() или православный delete free().
156 1290137
>>87837
у всех нормальных людей процессоры с x86 архитектурой и little-endian
157 1290140
>>90134
QApplication у тебя живет на стеке и поэтому деструктор у него вызовется сам при выходе QApplication из области видимости.
Собственно, насколько я помню, это справедливо для всех Qt-объектов
158 1290153
>>90140
Не, ну если я сделаю QApplication* obj = new QApplication? Просто часто бывали случаи как я загружал много объектов в стэк и оверфлоу ловил.
159 1290164
>>90153
Используй умные указатели, люк. В современном С++ сырые указатели это зашквар. В частости тут подойдет либо unique_ptr либо QSharedPointer. Но вообще загугли это, я с Qt не работал очень давно и может там есть какие-то проблемы с этим.
160 1290170
>>90164
вся суть, пациент плавает вообще в основах, а ему советуют использовать умные указатели как панацею
161 1290180
>>90170
По-твоему для использования умных указателей нужно сдать экзамен и получить диплом?
Как правило это сорокалетние старперы так рассуждают, которые привыкли срать new и delete везде, вместо того, чтобы этого не делать.

>как панацею


Твои проекции.
162 1290196
>>90170

>пациент плавает вообще в основах


Какие основы, доктор, я спрашивал про фреймворк, а не про язык.
163 1290738
>>90102
И смысл в такой обёртке?
>>90102
Тебе в примере показали уже, что для твоих целей надо

>unsigned long

164 1290740
>>90113
>>90738
Сюда смотри
165 1290778
Анон, QML с QtQuick является заменой интерфейсов с виджетами? Стоит ли вкатиться в него и использовать вместо виджетов?
166 1290791
Аноны, а бест практисы в факе не содержат в себе задач для самостоятельного решения? А то как-то так главу прочитал, через неделю только пятую часть вспомнишь. Или там нужно основные моменты уловить просто?
167 1290844
>>90791

>ТЫ, ТЫ ДУРАК ПОНЯЛ

168 1291078
>>90778
Да, это похоже на ксамль, вот только встроенные скрипты на джаваскрипте придется писать.
169 1291084
>>91078
Ну скрипты с анимацией не страшно. Больше интересен мощный зад на c++, вычисляющий белки на видеокарте, и красивый гуи
170 1291092
>>91084
Ну гуи да, реально легче писать чем на виджетах. Особенно если писать скрипты для генерации кюмла.
171 1291109
Погромисты, приветствую !
Пишу свои хайворлды (лабы) в Sublime text, компилируя gcc (MinGW) под шиндой. Все классно, мне это очень удобно, приятно и легко. Ранее использовал готовые IDE и там в свойствах проджекта задавалась возможность компиляции с всеми библиотеками и прочими ресурсами в готовый файл (это RAD Studio) с MSVC все еще проще было так как регисты есть на всех пк (под шиндовс ofc), а мне их с головой.

Закинул в PATH путь до MinGW и в Build system (Sublime - Tools) выбрал С++ Single file. Компилирую по Ctrl+B, все работает, но стоит перетащить бинарник туда где не установлена MinGW естественно ничего не запускается сыпя ошибками о отсутствии библиотек.

Как можно безболезненно выйти из ситуации (устал компилировать потом отдельно в VS) ? Может достаточно просто закинуть зависимости в папку с бинарником ?

Все что указано в include:
#include "windows.h"
#include "iostream"
#include "cstring"
#include "fstream"

Не помню кстати какие что конкретно в ошибке указывалось, возможно надо еще чего добавить ?
172 1291205
#include conio.h
15415077815000.jpg59 Кб, 500x420
173 1291223
>>91109
или таскай рантаймы мингв с собой
или линкуй статически
174 1291227
Сап, двач! Нужен совет. Я хочу сделать себе лёгкое логирование(в файл) работы функций. Так вот, как это сделать? Идея в том, чтобы создать макрос/функцию, которая оборачивает другую функцию, выводит значения всех её параметров, затем вызывает, а затем выводит результат. Что можно попробовать?
175 1291228
>>91227
Логировать, естесна, хочу те параметры, которые могут быть выведены в поток оператором <<

Ну а так же не должно быть пиздеца с выводом результата, если функция void.
15414534135230.png268 Кб, 1894x1869
176 1291329
>>86157 (OP)
Джентельмены, походу только здесь могу докопаться до истины
В одном треде Сексача произошел срач между околоайтишниками: https://2ch.hk/sex/res/4884780.html (М) один утверждал, что можно "прочитать пару книжек по С++ и алгоритмам" и уже бежать искать работу за 100-150к, даже без всякого опыта, в качестве пруфа кидался этот пикрил. В ответ ему прилетало что он хуй и чмо, но без особых аргументов
Так кто прав-то??
177 1291330
>>91329
Или тупой, или толстый троллинг, или толстый троллинг тупизной
178 1291333
>>91330
Не, серьезно, в вакансиях же указано что без опыта берут. В чем подвох?
179 1291334
>>91329

>прочитать пару книжек по С++ и алгоритмам


если просто так прочитаешь - ничего в голове не останется
а если выполнять примеры и делать упражнения, то "пара книг" у тебя годик вьябывания по 10 часов в день займет
современные кресты, это ни сишка, но даже тот же k&r будешь делать пару месяцев минимум
180 1291335
>>91333

> В чем подвох?


в том что тебя попросят на бумажке на собесе перевернуть односвязный список и на этом ты обосрешся
181 1291337
>>91333
Просто автор вакансии не указывает опыт
182 1291373
Аноны, пытаюсь разобраться с сортировкой вставками, и возникло пару вопросов. В данном коде функция merge будет вызываться каждый раз, или сначала mergeSort пойдет в рекурсию? Я так понял оно не выполниться только если размер подмассива еденичный, то есть начиная с размера равного двойке оно будет сортировать. И когда оно будет мёржить? Теория звучит гораздо проще реализации
image.png11 Кб, 496x166
183 1291374
>>91373
Код забыл
184 1291386
>>91373
Всё, в целом с алгоритмом я разобрался, но осталась пара вопросов: этот >>91373 и где в этом коде реализуется сортировка? Я так понял цикл while выбирает одно из значений и сравнивает его с аналогичным в другой части массива, и в итоге записывает одно из них, увеличивая количество записанных чисел и указатель в одном из массивов. Но когда я рисовал алгоритм на листочке я так и не понял где оно сортирует его, если при достижении размера 1 слияние не выполняется, а при двойке оно просто их сливает. Может кто пояснить на конкретно этом коде? cpp.sh/2x7x5
185 1291404
>>91386

>Всё, в целом с алгоритмом я разобрался, но непонятно как сортировка происходит

186 1291406
>>91404
Ну бля я хуй знает как описать, там практически весь алгоритм это слияние двух подмассивов и рекурсия, а вот момент минимальный подмассив сортируется я не могу понять точнее найти
187 1291411
>>91373

>сортировкой вставками


>функция merge


Ты ничего не путаешь, пацанчик?
188 1291413
>>91411
Слиянием конечно, не заметил как-то.
189 1291416
>>91406
В мерже, дятел
190 1291417
>>89504
Удвою. Наконец-то понял мув семантику, форвард-хуёрвард, ссылки все эти, разобрался с кастами, осознал разницу между деклтупе и авто.
image.png54 Кб, 1052x435
191 1291419
>>91416
Та ну де ебать?
192 1291420
>>90073

>что такое ПОД-типы


На работе на мой вопрос чё это за хуйня тимлид сказал "хуй знает, наверное pairs of double", так что не будь так строг к анонам, анон.
193 1291422
>>91419
Пиздец ты тупой
Внизу дерева останется два или 3 элемента которые будут мерджится, а мерджатся они в порядке возрастания
Возьми небольшой массив и пройдись по алгоритму в уме
194 1291423
>>91420
Потому что их правильно называть сабклассы
В плюсах никто классы с типами не путает
195 1291424
>>91423

>В плюсах никто классы с типами не путает


Но по сути же класс это тип!
196 1291425
>>91423

>В плюсах никто классы с типами не путает


Алсо на сппреференс то и дело в описании сбиваются с классов на типы и наоборот, так что не всё так однозначно.
197 1291426
>>91424
Пиздуй в сикптред к аутистам
198 1291427
>>91422
Сейчас пройдусь, только ответь на первый вопрос пожалуйста. Сначала функция сама себя вызовет, а потом только будет мёржить? Выходит оно сначала 2+2 сложит, потом 4+4 и по возрастанию?
199 1291429
>>91373

>сортировкой вставками


Это точно?

>>91406
Подозреваю, всё происходит при вызове merge(ar, size1, size2); кода то нет
200 1291430
>>91427
1+1, потом еще один 1+1, потом 2+2
Это рекурсивный алгоритм, поэтому сложность получается nlogn
201 1291431
>>91426
Ну не стукай, братишка, все ж мы люди.
image.png1 Кб, 126x24
202 1291432
>>91430
Оно разве до 1 дойдет? Там ведь если размер равен 1 то return. Если оно с еденицы складывать начинает то сортировка понятна.
>>91429
Кинул же в том посте еще
203 1291433
>>91427
Можешь посмотреть визуализации сортировок на ютубчике.
204 1291434
>>91432
Что-то не верится, что понятно
205 1291435
>>91431
Ладно, извиняюсь, был неправ
image.png39 Кб, 792x645
206 1291437
>>91434
Ну вот как-то так выходит, верно? АААА блять, оно же сначала разделит массив на два, а потом в рекурсии проверит. Спасибо аноны, выручаете, как всегда.
207 1291442
>>91223

> рантаймы мингв с собой


Так как определить что конкретно таскать ?
208 1291490
Эй, дегенераты с ПОД типами:

> A Plain Old Data Structure in C++ is an aggregate class that contains only PODS as members, has no user-defined destructor, no user-defined copy assignment operator, and no nonstatic members of pointer-to-member type. Greater detail can be found in this answer for C++98/03.



>>91442
http://www.heaventools.ru/pe-explorer.htm
Этим чтоли посмотри. Ты куда вкатываешься вообще: в сиспрограмминг или фронтэнд с портфолями?
Даже без всего этого можешь тупо пытаться смотреть какие длл требует и добавлять в папочку (костыли из костылей костыльных)
15415922319160.png251 Кб, 580x798
209 1291494
Типичный программист на Цэ Плюз Плюз
210 1291498
>>91490

>Requirements


Either:
a scalar type;
a class type (class or struct or union) that:
is a trivial type;
is a standard layout type;
has no non-static members that are non-POD;
an array of such type.
Далеко не только то, что ты описал, а вообще к чему ты это? Я как раз и писал, что даже тимлид не знал, что такое pod, говорит pairs of doubles.
211 1291502
>>91498
На всякий случай scalar это possibly cv-qualified arithmetic, pointer, pointer to member, enumeration, or std::nullptr_t type, другими словами с под типами гораздо чаще сталкиваетесь, чем думаете.
212 1291505
>>91498
Я всё к тому что проведя очень много времени за всем этим вычитыванием остаешься в ситуации когда даже с сраной джава макаки требуют меньше чем с тебя за большие деньги. Нахуй так жить. Перекатываюсь
213 1291506
>>91505
Да я не провожу много времени, просто столкнулся в реквайрментсах с POD типами, спросил, получил ответ про пары даблов, решил загуглить. Я не какой-то там книжный червь. Как раз про то и говорю, что не то, что аноны с двача, чувак с дохера годами опыта понятия не имел что это.
214 1291507
>>91505
Лучше блядь грузчиком в ашане или тележки в ленте катать чем быть анальным рабом манагеров
215 1291510
>>91420
Мой первый пост если что >>91506
216 1291514
любая офисная работа лучше работы грузчиком или вообще работы в магазине
ты, наверное, просто не был на дне, не вьябывал на погрузке, не стоял в магазе в зале или на кассе, не работал в цеху на заводах, даже по студенчеству
и тебе не с чем сравнить
217 1291519
>>91514
Я огороды перекапывал еще ДО студенчества и норм было - попроще чем мозгоебство в этих ваших конторах с дегенератами.
218 1291520
>>91490
Да, через манифесты это еще тот костыль. Никуда я не вкатываюсь, каким - то местом попал в местный универ мухосранска на ОТи погромист специальность (ПИ), сам я не погромист ниразу, точнее писал много чего и были времена действительно веселый,даже банчил своими продуктами. Но я к этому перегорел еще до 20 - ти лет и это уже далеко не то что мне нужно ин лайф. Соответственно ВУЗ кончаю так сквозь пальцы чтобы маму не обижать. Там постоянно что - то погромировать надо, но, в основном основы основ (то что я описал в инклуд это максимум что может понадобится) максимум ООП какой - нибудь. Я уже не могу терпеть всякие IDE, мне чистый компилятор и текст эдитор за глаза, но, свои програмки я должен демонстрировать в вузе, где они не открываются. Чтобы начали открываться приходится в стужии финал компилировать, но это иногда черевато переделыванием половины кода нахуй. Узнать какие библиотеки требует заранее я тоже не могу. Неужели не предусмотрен вариант чтобы все зависимости в бинарник сами запоковались ну или в папку копирнулись. Может можно скормить бинарник линкеру там или компоновщику. Я хз как параметры компиляции в стандартном пресети билда саблайма менять.
219 1291521
>>91519
Сравнил огороды и грузчиком. Я в порту грузчиком работал, офис после этого словно в рай попал.
15409821234120.jpg63 Кб, 600x864
220 1291524
>>91521
Сравнил грузчика в порту с пинанием хуев с тележками. Эти сраные 8 часов с офисными дегенератами подрывает здоровье посильнее физического труда.
221 1291526
>>91520
Замени MinGW на вот это: http://tdm-gcc.tdragon.net/
Оно по дефолту делает статик (якобы)
Или ищи ключи к статической сборке MinGW
222 1291530
>>91526
У MinGW посмотри флаги -static-libgcc -staticlibc++ -static
223 1291896
<code>#include <iostream>
#include <string>

using namespace std;

class name_pairs {
public:
name_pairs(string nn, int aa):n{nn},a{aa}
{}
name_pairs():n{default_pairs().name()},a{default_pairs().age()}
{}
const name_pairs& default_pairs()
{
static name_pairs d{"def name",0};
return d;
}
string name () const {return n;}
int age () const {return a;}

private:
string n;
int a;
};

ostream& operator<<(ostream& os, const name_pairs& d)
{
return os<<"name: "<<d.name()<<" age:"<<d.age();
}
int main()
{
name_pairs dd;
cout<<"вот вам хуй"<<dd;
return 0;
}
</code>
223 1291896
<code>#include <iostream>
#include <string>

using namespace std;

class name_pairs {
public:
name_pairs(string nn, int aa):n{nn},a{aa}
{}
name_pairs():n{default_pairs().name()},a{default_pairs().age()}
{}
const name_pairs& default_pairs()
{
static name_pairs d{"def name",0};
return d;
}
string name () const {return n;}
int age () const {return a;}

private:
string n;
int a;
};

ostream& operator<<(ostream& os, const name_pairs& d)
{
return os<<"name: "<<d.name()<<" age:"<<d.age();
}
int main()
{
name_pairs dd;
cout<<"вот вам хуй"<<dd;
return 0;
}
</code>
224 1291900
>>91896

>const name_pairs& default_pairs()


>{


>static name_pairs d{"def name",0};


>return d;


>}



Проиграл
225 1291903
>>91900
С чего? Я просто с пгт.
226 1291925
>>91903
Надо писать return std::move(d)
227 1291954
>>91925
Зачем? В итоге же && станет &, не?
228 1291958
Хочу запилить децентрализованный торRент с возможность воспроизведения видео в процессе скачивания.

С чего начать? Boost ASIO + vlc? Насколько подъёмно?
15416582923530.jpg23 Кб, 313x286
229 1291963
>>91954
Не слушай наркоманов
230 1291991
Почему std::map insert требует pair? Это же лишняя аллокация. Погуглил и пишут что есть emplace, но только в C++11. Почему нельзя было сделать это в ранних версиях? Просто метод с двумя параметрами (ключ и значение), а не один параметр-пара.
231 1291995
>>91991
Алсо, есть ли какие-то более менее стандартные реализации concurrent map для плюсов? Итерироваться не нужно, только вставка-удаление. Или только мьютекс вручную?
232 1292005
>>91995

>стандартные


Серебряной пули нет, отталкивайся от потребностей.
Например, можешь взять одну из реализация cuckoo.
233 1292006
>>91991
Какая аллокация, ты не пишешь new и пара выделяется на стеке точно так же, как выделялись бы два параметра
234 1292010
>>92006
А внутри там нет new?
235 1292032
>>91995

если хочешь чтобы все это дело было более-менее рабочим и из коробки нахаляву, то да

с++11 + std::map + std::mutex
c++11 гарантирует thread safe для map на операции чтения, а мьютексом синхронизируешь операции изменения

lock free вообще любые контейнеры еще пока, имхо, сырые
236 1292034
>>92032
вернее, относительно легко делается lock-free стек и очередь, что собственно и сделано в boost
но реализация хорошего lock-free map - адски сложное дело
237 1292063
>>92032
не слушайте этого любителя андифайнед бихевиоров. Shared Mutex для этого впилили спецом
238 1292073
>>92010
Нет, в С++ переменые умеют храниться на стеке, а не указывать куда-то в кучу, как в случае управляемых языков. Поэтому выделение памяти под std::pair будет просто как для любой локальной переменной. Вызов конструктора компилятор заинлайнит и поэтому тут вообще никаких проблем нет.
Зато сам map хранит свои ноды в куче, так что там аллокаций будь здоров, без pool-аллокатора это крайне тормозная штука, не рекомендую. Но заменой параметров у insert ситуацию не поправишь.
239 1292074
>>92063

>Shared Mutex


дык вроде спрашивающий хотел активно писать-изменять, а не читать..
240 1292077
>>92073
ну это понятно, что для мапов и списков вместо аллокатора по умолчанию по идее лучше взять кастомный, основанный на пуле, например из буста пул взять
только вот посмотреть бы как на практике это реализуют в работающих проектах
241 1292130
>>91991

>Почему нельзя было сделать это в ранних версиях?


Забыли.
242 1292409
Аноны подскажите пожайлуста, почему первое считывание не работает? Дальше все хорошо идёт, а в первой проблема. Структуры использовать нельзя, препод заебал уже
243 1292420
>>92409
Инпут в первом кейсе терминируется длиной, а не делиметером
Увельчь лимит до нормального значения(и размер буфера тоже)
244 1292424
>>92420
По заданию не более 12 букв во всех трёх строках. Но за помощь спасибо. Не заметил как-то. Алсо, тут еще одна проблема. Программа зависает во всех случаях, даже если я просто ввожу значения из файла во входной поток. Дело в том что оно не видит где конец файла и пытается считать дальше, или в чём? Код приложу сейчас. cpp.sh/3zvej
245 1292425
>>92424
Букв 12 + байт на нуль терминатор
Пользуйся стрингом
246 1292428
>>92424
У тебя только 9 строчек, а ты пытаешься считать 10
С такими мудацкими вопросами сам ебись, умнее будешь
247 1292430
>>92425
С радостью бы использовал шаблонные классы, но препод сказал что тот, кто будет использовать СТЛ до его изучения получит по ебалу, а его работу не примут. В чём тогда смысл учить наперед я не понимаю. Но учу.
>>92428
Спасибо, извиняюсь за невнимательность.
248 1292587
>>90007
отпишись как закончишь курс, в шапку добавим насколько хорош материал
249 1292588
в шапку треда видео с питерского крестового митапа

https://www.youtube.com/playlist?list=PLtDc3cNvuhAIU_LRYg6xFaJV_95Kkt79n
250 1292589
в шапку треда:
"шаблоны с++, второе издание" джосаттиса и вандервуда издали на русском
книга охватывает и с++17
есть в сети в электронном виде

имхо, вместе с майерса последней книжкой будет самое наиполезнейшее чтение из книг сейчас
251 1292599
>>92589

> есть в сети в электронном виде


https://vk.com/doc7608079_480845688
252 1292727
>>92589

>издали на русском


Русикобляди совсем охуели
Потом удивляются что им по 500 баксов платят
253 1292730
>>92588
Чем это лучше cppcon и проч?
254 1292834
Анончик, что делать если в if мне надо сделать сразу два действия? Например

if(ost==1) {x1=x1*10+ost; s1=s1+1;}

И else обязательно ли использовать, если он не нужен?
255 1292855
Как в visual studio возвести число в степень? Просто 2^2 не работает.
256 1292864
Сап. Есть такая (стандартная?) функция exit(). Нужно ли ей такую строку прописывать #include <cstdlib> ? Убрал эту строку, вроде пашет. Книга по которой изучаю наверно уже старая. Если не собираюсь использовать старый компилятор можно уже писать без этой строчки?
257 1292879
>>92834
Лол
Не обязательно
259 1292883
>>92881
Так что там насчёт ^ в визуал студио?
260 1292886
>>92883
Не работает, потому что ^ это xor
В спп нет оператора возведения в степень
261 1292890
>>92864
stackoverflow.com/questions/35910043/why-does-rand-compile-without-including-cstdlib-or-using-namespace-std
Вам в ваших ебучих шарагах надо курс по гуглению давать, с экзаменами
262 1292898
>>92886
Как тогда в C выглядит операция 2^2?
263 1292899
>>92898
pow(2, 2)
264 1292901
>>92899
Чистый visual C++ Express воспринимает pow как переменную. Ещё варианты?
265 1292909
>>92901
cmath подключи
266 1292912
>>92909
Нельзя, препод запрещает.
267 1292922
>>92912
пиши свой pow циклом
269 1292937
Крестобояре, внимание, вопрос: почему при вводе символа вместо числа показанный фрагмент кода впадает в истерию и начинает циклически перезапускать код не спрашивая ввода значения через scanf?
270 1292942
>>92587
Я проходил его, хорош достаточно для того, чтобы устроиться крестоджуном на галеру. Работаю уже полгода.
Снимок экрана от 2018-11-10 17-12-47.png37 Кб, 355x109
271 1292944
>>92922
Можно рекурсией очень быстрое возведение делать.
272 1292948
>>92937

>unsigned int


>%d

273 1292949
>>92937
var00 - не инициализированная переменная.
Наверное scanf не извлекает все символы.
И если ты уже юзаешь С ф-и, тоюзай printf вместо cout
Без имени-1.png249 Кб, 1920x1080
274 1292966
>>92944
Реализовал то что у тебя на пике:
70 строк кода вместо 20 с обычным циклическим алгоритмом умножения
image.png10 Кб, 572x93
275 1292969
>>92949
>>92948

Не тот скрин отправил, сейчас исправлюсь. Алсо, scanf юзал только потому что он помог мне избавиться от этого циклического говна в предыдущем фрагменте, когда я заменил им cin. Но тут почему-то не сработало.
276 1292975
>>92966
не хватает комментариев типа "это открывающая скобочка" "а это закрывающая"
image.png378 Кб, 1920x1080
277 1292978
>>92975
Просто увидел эту гифку и решил попробовать сделать так же, чисто ради интереса, да и помогать разбираться так вроде бы проще будет
15418613795060.png264 Кб, 1920x1080
278 1292981
>>92966
Почему это компилируются?
Без имени-1.png99 Кб, 1444x594
279 1292982
>>92949
>>92948

Вот так это все выглядит сейчас. Поправил спецификатор формата, инициализировал переменную.

Слева фрагмент с (вроде-бы) таким же принципом работы просто выдает ошибку, справа же вылетает в ту бесконечную хуйню
image.png80 Кб, 892x580
280 1292983
>>92981
Знаю, уже исправил. Кинул сразу после того как дописал, не проверяя на компилируемость
281 1292985
>>92730
имхо, не лучше, но на уровне
лично мне одинаково интересно смотреть доклады и у них и у нас
второе, признаюсь, мне не хватает знаний английского языка, когда докладчики начинают объяснять какие-то новые концепции, вводимые в язык, с которыми я еще не сталкивался
проще сначала послушать человека который говорит о том же но на русском языке
282 1292986
>>92983
А если степень равна 1?
283 1292989
>>92986
>>92981

Предпоследняя и последняя строки
image.png15 Кб, 1003x131
284 1292993
Всем сап. Есть задание: описать в методах класса два конструктора. Один должен инициализировать поля единицами, другой - заданным набором значений.
Как сделать так, чтобы по выбору пользователя (1 пик) >Введите 1, чтобы..
У меня срабатывал конструктор, заполняющий произв. значениями, а при нуле - единицы.
Пытаюсь запихнуть всё это в операторы ветвления, но после этого у меня перестают определяться методы из этого класса. Как быть?
Весь код: https://pastebin.com/8uBFNi4f
2342134124.jpg45 Кб, 367x420
285 1293004
>>92989
Привет, тож в этом году в колледж поступил
286 1293012
>>92993
Может добавить во второй конструктор еще один аргумент какой-то типо true?
мимо-вкатывальщик
287 1293013
Анон, почему когда я в visual studio ввожу 1234567890 в этe программу, то вместо 9876543210 я получаю 1286608618?
Программа должна выстраивать из цифр вводимого числа максимально большое число. Подобное наблюдается при вводе любого числа, в котором больше 10 цифр.

#include <stdio.h>
int main()
{
int n, ost, x1=0, x2=0, x3=0, x4=0, x5=0, x6=0, x7=0, x8=0, x9=0;
int s0=1, s1=1, s2=1, s3=1, s4=1, s5=1, s6=1, s7=1, s8=1, s9=1;
scanf_s("%d", &n);

while(n>0)
{
ost=n%10;
n=n/10;

if(ost==0) s0=s010;
if(ost==1) {x1=x1
10+ost; s1=s110;}
if(ost==2) {x2=x2
10+ost; s2=s210;}
if(ost==3) {x3=x3
10+ost; s3=s310;}
if(ost==4) {x4=x4
10+ost; s4=s410;}
if(ost==5) {x5=x5
10+ost; s5=s510;}
if(ost==6) {x6=x6
10+ost; s6=s610;}
if(ost==7) {x7=x7
10+ost; s7=s710;}
if(ost==8) {x8=x8
10+ost; s8=s810;}
if(ost==9) x9=x9
10+ost;
}
n=n+((((((((((((((((x9s8)+x8)s7)+x7)s6)+x6)s5)+x5)s4)+x4)s3)+x3)s2)+x2)s1)+x1)*s0;
printf("%d", n);
scanf_s("%d", &n);
return 0;
}
287 1293013
Анон, почему когда я в visual studio ввожу 1234567890 в этe программу, то вместо 9876543210 я получаю 1286608618?
Программа должна выстраивать из цифр вводимого числа максимально большое число. Подобное наблюдается при вводе любого числа, в котором больше 10 цифр.

#include <stdio.h>
int main()
{
int n, ost, x1=0, x2=0, x3=0, x4=0, x5=0, x6=0, x7=0, x8=0, x9=0;
int s0=1, s1=1, s2=1, s3=1, s4=1, s5=1, s6=1, s7=1, s8=1, s9=1;
scanf_s("%d", &n);

while(n>0)
{
ost=n%10;
n=n/10;

if(ost==0) s0=s010;
if(ost==1) {x1=x1
10+ost; s1=s110;}
if(ost==2) {x2=x2
10+ost; s2=s210;}
if(ost==3) {x3=x3
10+ost; s3=s310;}
if(ost==4) {x4=x4
10+ost; s4=s410;}
if(ost==5) {x5=x5
10+ost; s5=s510;}
if(ost==6) {x6=x6
10+ost; s6=s610;}
if(ost==7) {x7=x7
10+ost; s7=s710;}
if(ost==8) {x8=x8
10+ost; s8=s810;}
if(ost==9) x9=x9
10+ost;
}
n=n+((((((((((((((((x9s8)+x8)s7)+x7)s6)+x6)s5)+x5)s4)+x4)s3)+x3)s2)+x2)s1)+x1)*s0;
printf("%d", n);
scanf_s("%d", &n);
return 0;
}
изображение.png16 Кб, 696x542
288 1293015
>>93013
Извиняюсь, вот нормальный код.
289 1293016
>>93013
Скорее всего у тебя проблема в том, что инт может хранить значения не больше 2^31. Попробуй тип на какой-то long long поменять.
290 1293017
>>93013
pow(Говнокод,+inf)
291 1293018
>>93016
А почему long два раза? Один раз нельзя? Просто я только начал учить языки программирования.
292 1293019
>>93017
Библиотеки какие там подключены видишь? То-то же.
293 1293020
>>93018
Это вроде самый большой тип для хранения данных. Можешь unsigned int попробовать, мне лень считать.
image.png243 Кб, 724x487
294 1293022
>>93018
Хотя нет, не хватит. Вот тебе табличка.
15380564146220.png121 Кб, 736x736
295 1293023
>>93015

>вот нормальный код

15416582923530.jpg23 Кб, 313x286
296 1293024
>>93019

>Библиотеки какие там подключены видишь? То-то же.


преподу своему так говорить будешь, когда он это повторит
297 1293025
>>93023
А ты можешь только с stdio.h сделать лучше?
298 1293029
>>93019
а у тебя массивы из языка тоже удалили?
299 1293030
>>93029
Да, это задание нужно сделать без массивов.
15416961762680.jpg158 Кб, 811x811
300 1293031
>>93030
тогда пиздец
301 1293032
>>93030
Еба, таких условий даже нам в шараге не дают. Компиляторами хоть пользоваться можно, или свой писать?
302 1293033
>>93032
вывод в консоль записью в видеобуфер
303 1293037
>>93032
У того препода такой способ обучения, заставляет решать задачи лишая нас некоторых упрощающих решение возможностей, заставляя искать иной выход из поставленной ситуации.
304 1293039
>>93025
Где учишься?
305 1293040
>>93037
ваш препод дегенерат с двача
306 1293041
>>93039
ИКТИБ ЮФУ Таганрог, а препод Хусаинов.
307 1293042
>>93041
Задание полное дай
15418494741220s.jpg7 Кб, 170x170
308 1293044
Хусаинов Наиль Шавкятович запрещает своим ученикам использовать массивы
309 1293045
>>93030
А указателями жонглировать тоже нельзя?
Массивы это же сахарок.
310 1293046
>>93044
Да там можно и без массивов
Пусть даст задание со всеми условиями
311 1293048
>>93046
уверен в том что можно, но звучит круто
312 1293049
>>93042
Вводится число (n<=10^15), надо написать такую программу, которая меняет цифры введённого числа местами, образуя максимально возможное число из этих цифр. Не слово в слово, но как запомнил. Заданий было несколько, на лабе не решил ни одного, только одно сейчас дома осилил.
313 1293050
>>93049
Можно и без массивов.

Байтоёбство как оно есть.
43214123423.jpg26 Кб, 259x342
314 1293054
>>93050

>Байтоёбство как оно есть.


Пошел на хуй из треда

>>93049
Забирай

МимоХусаинов
315 1293055
>>93054
Ты забыл самое главное, нельзя использовать ничего кроме stdio.h, это одно из условий задания.
316 1293056
>>93055
Здесь ничего инеиспользуется

Но я максимальное число не построил, лол
317 1293061
>>93049
Ну здесь Хусаиновым ебанутым надо быть, чтобы без массивов делать
image.png34 Кб, 510x426
318 1293063
>>92982
Я же писал что сканф оставляет лишнюю хуйню в потоке. Надо stdin очищать sclear_stdin на пикриле
319 1293069
>>92966
Лол, зачем так? 4 строчки
func pow(x, n)
{
if n = 0 return 1
else if n is odd return x умножить на pow(x, n/2)^2
else return pow(x, n/2)^2
}
320 1293071
>>93069
"умножить на" замени на звездочку, ^2 замени на дважды повторённое умножение, а то мало ли не понял.
321 1293072
>>93055
https://ideone.com/brGzbI
Продолжай деградировать
322 1293073
>>93072
Но это тоже говнокод
15418494741220s.jpg7 Кб, 170x170
323 1293075
>>93073
И привет Наилю Хусаинову
Anime Chan.jpg50 Кб, 500x732
324 1293079
>>93063
Блять, мерси, ты лучший
325 1293080
>>93071
У такого алгоритма если че О(логн) комлпексити всего, а у наивного О(н), фил зе дифференс как говорится мхмхехе.
326 1293081
>>93069
Потому что я сижу дома вторую неделю и мне нехуй делать, алсо, тренируюсь в написании функций
327 1293082
>>93081
Типа это не косяк, а так и было задумано? Ну ок тогда.
328 1293083
>>93080
Блять, я новый ньюфаг, переведи плес
329 1293084
>>93083
Быстрее работает.
330 1293085
>>93083
логарифмическая сложность в гугле
331 1293087
>>93083
Например, если тебе нужно возвести х в 1024 степень, то по первому алгоритму ты совершишь 1024 действия, а по второму 10.
332 1293088
>>93072
У тебя вообще ответ не выводится.
333 1293089
>>93085
>>93087

Спасибо
334 1293091
>>93087
однако ты быстро словишь выход за допустимые границы числа на больших степенях - а потому сомневаюсь в дрочке этого алгоритма
335 1293092
>>93072
>>93088
использую Visual Studio 2010 Express, если что. Там ответ к твоему коду не выводится. Почему?
336 1293093
>>93091
Ну он же не привязан к С++, в каком-нибудь питоне нет ограничений по сути на длину числа.
338 1293095
>>93091
Да и вообще, а если тебе просто нужно 1000 сравнительно небольших чисел возвести в степень по очереди. Не, один хуй имеет смысл.
339 1293097
>>93095

>Да и вообще, а если тебе просто нужно 1000 сравнительно небольших чисел возвести в степень по очереди. Не, один хуй имеет смысл.


Вот про это соглашусь, а про питухон - там разве числа неограниченной величины? (без decimals)
340 1293098
>>93097
Да, в третьем нет ограничений на int.
341 1293103
>>93092
https://ideone.com/brGzbI
Наиль, попробуйте так
342 1293106
>>93094
Я имею в виду, что пытался скомпилировать твой код через VS 2010 Express, ввёл число и получил хуй.
343 1293108
>>93106

>Я имею в виду, что пытался скомпилировать твой код через VS 2010 Express, ввёл число и получил хуй.


У вас там наверное манямирок со своими манякомпиляторами, работающими по вашим же манястандартам.
Последняя версия использует те же io функции, что и твое поделие
344 1293120
>>93072

> printf для одного символа


...
345 1293121
>>93106
Ах, да, вы ж еоф в поток не шлете. Манямирок...
https://ideone.com/EjI8PI
346 1293122
>>93072

> scanf для одного char


...
347 1293123
>>93120

> printf scanf в C++ треде


> ...

348 1293125
>>93123

> имплаинг они не часть стандарта C++

349 1293126
Дайте мне точное определение говнокода.
350 1293127
>>93121

>этот говнокод


Че это за хуйня? Ты ебанат? Не пиши такое.
351 1293129
>>93049
ну отсортируй да и всё. мержсорт какой-нибудь возьми.
15415067050040.jpg41 Кб, 576x463
352 1293131
>>93127

>Че это за хуйня? Ты ебанат? Не пиши такое.

353 1293133
>>93129
По условию задания нельзя использовать ничего из C++, потому что сейчас мы проходим чистый C.
354 1293134
>>93129

>ну отсортируй да и всё. мержсорт какой-нибудь возьми.


идиома задачи: массивы не нужны
355 1293149
>>92587
там кстати сделали целую специализацию по с++ . Помимо этого курса есть еще 4. Этот самый простой.

Я бы посоветовал его проходить после прочтения половины любой книги для новичков по с++.
357 1293210
На С++ вообще используют фреймворки кроме графических?
мимо студент
358 1293215
>>93151

>https://ideone.com/EjI8PI


> <stdio.h>



Это не C++.
359 1293216
>>93210
Да.
360 1293222
>>93215

>Это не C++.


Наиль Шавкятович считает по другому...
361 1293316
Есть по qt хороший учебник с примерами? Посоветуйте что-то чтобы не в слепую тыкаться.
362 1293317
>>93316
Марк Шлее
Примеры, вроде, в сам Qt creatore есть
363 1293325
>>93317
Благодарю.
364 1293335
>>90007
>>93149

окей, закину в шапку следующего треда, если буду жив к тому моменту
https://www.coursera.org/specializations/c-plus-plus-modern-development
в общем, на курсере этот курс от ребят из яндекса и мифи
а на степике таки лучше курсы от cs center чем от mail.ru
sage 365 1293336
>>93317
не марк блядь додик, а Макс Шлее
366 1293340
>>93336
Вообще похую
367 1293341
>>93335
хотя нет, не буду
coursera окуклилась и стала платной
насколько я понял
ну их
ПеКа бугурт закусил губу.jpg42 Кб, 521x500
368 1293353
Блять, чет сейчас сижу и сам с себя проигрываю в гiлаc

НАПИСАЛ ОВЕР 1000 СТРОК КОДА
@
ВСЕ РАБОТАЕТ
@
РЕШАЕШЬ ПРИКРУТИТЬ ЕЩЕ ОДНУ СВИСТОПЕРДЕЛКУ
@
ВСЕ РАБОТАЕТ, ПРИ ПОПЫТКЕ ИСПОЛЬЗОВАТЬ СВЕЖЕПРИКРУЧЕННОЕ - КРАШИТСЯ
@
ПЫТАЕШЬСЯ ПОЧИНИТЬ
@
ПЕРЕСТАЕТ РАБОТАТЬ ВООБЩЕ ВСЕ
@
УДАЛИЛ ВСЕ ЧТО ПРИКРУТИЛ
@
КОД ВСЁ ЕЩЕ НЕ ПОДАЕТ ПРИЗНАКОВ ЖИЗНИ, ПРИ ТОМ ЧТО СТАБИЛЬНО КОМПИЛИРУЕТСЯ
@
НАЧИНАЕШЬ ПРОЗВАНИВАТЬ, РАЗДЕЛЯЯ ПО КУСОЧКАМ
@
В ГОЛОВЕ ЕХИДНЫЙ ГОЛОС:
@

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

369 1293355
>>93353
Я в таком случае удаляю объектные файлы.
Иногда помогает.
Absolutely haram.jpg46 Кб, 531x471
370 1293357
>>93355
https://pastebin.com/4J1RXZxK

Блять, помогите, а? Где ошибка?
371 1293358
>>93357
В scanf надо передавать адрес переменной
 .png7 Кб, 977x110
372 1293359
>>93358
>>93357
Да и вообще компилятор же должен тебя предупреждать об такой херне
image.png8 Кб, 349x112
373 1293360
>>93358
Блять, не в том ошибка была, это я переписал неправильно.
Но спасибо за наводящий ответ, нашел

Один символ и все по пизде
А я ошибку в логике искал ~ полчаса
Shrek Dota2.gif1,1 Мб, 200x220
374 1293361
>>93359
Нихуя не предупреждает, пидорас
Компилирует, запускает, при попытке ввода крашится

DEV C++, ммм
375 1293362
>>93360
Чем тебя не устроил cin?

> Один символ и все по пизде


> А я ошибку в логике искал ~ полчаса


Не огорчайся.
Даже у сильных мира сего бывают ошибки
https://twitter.com/id_aa_carmack/status/857207449987817472
376 1293363
>>93361
Так добавь опции компилятору -Wall
378 1293408
379 1293488
Может кто нибудь пояснитть что ей сука не нравится?

При этом код компилится и работает
380 1293508
>>93488
Да это иде не может твоё говно правильно распарсить
381 1293529
>>93341
Но там можно бесплатно прослушать курс. Разница только в том что ты не можешь 90% задач отправлять на проверку. А так весь материал и видео лекции бесплатен.
382 1293545
Как у крестогоспод в 2к18 принято управлять памятью?
Выделять все на стеке и пусть конпелятор оптимизирует?
Ебашить везде shared_ptr? Разбавлять unique_ptr'ами?
Или, по-старинке, долго и вдумчиво new-delete, new-delete?
383 1293547
>>93545
По ситуации, универсального способа нет.
384 1293549
>>93547
Плохо. Мне как раз нужен универсальный способ, я хочу написать транслятор своего языка во что-нибудь компилируемое.
385 1293552
>>93549
Тогда делай все на умных указателях. Будет тормозить - тогда уже оптимизируй.
386 1293596
>>93549

>Мне как раз нужен универсальный способ


GC
387 1293643
>>93549

> я хочу написать транслятор своего языка во что-нибудь компилируемое.



Почему плюсы а не C или LLVM?
388 1293650
Помогите написать функцию, которая принимает в себя двумерный массив и находит строку и столбец с наибольшими суммами и меняет их элементы на нули.
Алгоритм нахождения сумм и замены элементов я понимаю, но я не понимаю, как можно пропихнуть двумерный массив в функцию и как вернуть измененный массив?
389 1293653
>>93650
Бля, ну и вопросы у вас. Это всё гуглится за две минуты. Если массив динамический то прототип выглядит примерно так
int foo(int ar,int size); Чтобы потом что-то с ним делать присвой результат функции куда-то и всё.
390 1293672
>>88183
Согласен, поэтому лучше юзать с++ без библиотек в своих маня проектах.
391 1293691
>>93650

>как можно пропихнуть двумерный массив в функцию


function(^^array), где домик это звёздочка
392 1293693
>>92942
Долблюсь в зенки, я не курсеру, а

>https://stepik.org/course/7

393 1293714
>>88183

>Какое говно генерирует крестовый компилятор - это еще гадать надо.


не надо гадать
ассемблерный выход всегда можно посмотреть, вообще то
Безымянный.png344 Кб, 2796x1032
394 1293817
https://pastebin.com/uPgSexV7|

Аноны, вчерашний дебил с калькулятором на связи.
Калькулятор я доделал и теперь мне приспичило запилить себе консольную змейку.
Отписал я значит кусок кода, решил запустить, он скомпилился (ВНЕЗАПНО с первого раза) и дальше предлагает ПОЖАЛУЙСТА ПОСОСАТЬ ПИСОС

Что делать, аноны?

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

Все равно не работает

На комментарии тоже можете внимания не обращать, я это чтобы вслух все не проговаривать, иначе доебут спасибо боженька за аутизм не обманул
395 1293823
>>93041
Скажи спасибо, что у тебя Хусаинов ведет.
Он самый нормальный препод по проге во всем радике, как мне кажется
396 1293827
>>93044
Суть в том, что Хусаинов любит олимпиадки и часто дает олимпиадные задачи.
В частности, в контестах для младших школьников есть много задач, которые нужно решать без условий, циклов и массивов - вот он их и дает.
15419660153850.jpg68 Кб, 292x306
397 1293875
>>93827
Это всё хорошо, но олимпиадцы потом в большинстве своем никому не нужны.
398 1293887
>>93817
Типа сейчас змейка выползает, ползет вправо и заползает. И повторить?
- У тебя строки на '\0' заканчиваются?
- Цикл for принципиально не юзаешь?
- У тебя куча магических чисел.
image.png6 Кб, 300x129
399 1293897
>>93887

>магических чисел


Что это?

>цикл for принципиально не юзаешь


В while все как-то очевиднее для меня, поэтому предпочитаю, хз.
У for есть какие-нибудь преимущества по скорости исполнения перед while-ом?

>У тебя строки на '\0' заканчиваются?


Они же вроде сами проставляются, если под них место оставить, нет?

Алсо, я космический еблан. Тут действительно стоило бы for использовать

Расставил везде puts-ы чтобы посмотреть до какого места работает, а она в самом начале в бесконечный цикл уходит оказывается
image.png262 Кб, 1920x1080
400 1293898
И вот какого хуя у меня это говно рисуется? Там же строка должна писаться, забиваться '\b'-шками к началу и снова писаться там же?

Или я неправильно понимаю принцип работы?
401 1293903
А все, идите нахуй, заработало
402 1293906
Геймдев уровня /b/
403 1293914
Сраные студенты засрали весь тренд
image.png40 Кб, 652x443
404 1293952
>>93914

> Не студент


> Все еще сидит на харкаче



Кого ты пытаешься обмануть?
image.png278 Кб, 1920x1080
405 1293964
Змейко-калькулятородебил снова в тренде.

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

Это меня огорчает

>>93049
Тред не читал, пока стоял в душе придумал решение, скорее всего уже решили получше, но вот (Шавкятычу привет):

#include <cstdio>
using namespace std;

int main()
{
short num;
unsigned short num0,num1,num2,num3,num4,num5,num6,num7,num8,num9,counter;
num0=num1=num2=num3=num4=num5=num6=num7=num8=num9=counter=0;

puts ("Ââåäèòå ÷èñëî, ïîäëåæàùåå ñîðòèðîâêå: ");
while (num!='\n')
{
scanf ("%c", &num);

switch (num)
{
case '0': {++num0; break;}case '1': {++num1; break;}
case '2': {++num2; break;}case '3': {++num3; break;}
case '4': {++num4; break;}case '5': {++num5; break;}
case '6': {++num6; break;}case '7': {++num7; break;}
case '8': {++num8; break;}case '9': {++num9; break;}
case '\n': break;
default: {puts("\n\nÂâîäè ÷èñëà, âûáëÿäîê!"); break;}
}

++counter;
}

long long result = 0, degree = 1;
bool doCycle = 1;

for (; counter != 2; --counter){degree = 10;}

while (doCycle)
{
while (num9) {result += (9
degree);degree/=10; --num9;}
while (num8) {result += (8degree);degree/=10; --num8;}
while (num7) {result += (7
degree);degree/=10; --num7;}
while (num6) {result += (6degree);degree/=10; --num6;}
while (num5) {result += (5
degree);degree/=10; --num5;}
while (num4) {result += (4degree);degree/=10; --num4;}
while (num3) {result += (3
degree);degree/=10; --num3;}
while (num2) {result += (2degree); degree/=10; --num2;}
while (num1) {result += (1
degree);degree/=10; --num1;}
while (num0) {result += (0*degree);degree/=10; --num0;}
doCycle = 0;
}

printf ("\nÐåçóëüòàò ñîðòèðîâêè ðàâåí: %lld\n\n", result);
return 0;
}


Алсо, какого хуя не копируется кириллица из моего любимого DEV C++?
image.png278 Кб, 1920x1080
405 1293964
Змейко-калькулятородебил снова в тренде.

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

Это меня огорчает

>>93049
Тред не читал, пока стоял в душе придумал решение, скорее всего уже решили получше, но вот (Шавкятычу привет):

#include <cstdio>
using namespace std;

int main()
{
short num;
unsigned short num0,num1,num2,num3,num4,num5,num6,num7,num8,num9,counter;
num0=num1=num2=num3=num4=num5=num6=num7=num8=num9=counter=0;

puts ("Ââåäèòå ÷èñëî, ïîäëåæàùåå ñîðòèðîâêå: ");
while (num!='\n')
{
scanf ("%c", &num);

switch (num)
{
case '0': {++num0; break;}case '1': {++num1; break;}
case '2': {++num2; break;}case '3': {++num3; break;}
case '4': {++num4; break;}case '5': {++num5; break;}
case '6': {++num6; break;}case '7': {++num7; break;}
case '8': {++num8; break;}case '9': {++num9; break;}
case '\n': break;
default: {puts("\n\nÂâîäè ÷èñëà, âûáëÿäîê!"); break;}
}

++counter;
}

long long result = 0, degree = 1;
bool doCycle = 1;

for (; counter != 2; --counter){degree = 10;}

while (doCycle)
{
while (num9) {result += (9
degree);degree/=10; --num9;}
while (num8) {result += (8degree);degree/=10; --num8;}
while (num7) {result += (7
degree);degree/=10; --num7;}
while (num6) {result += (6degree);degree/=10; --num6;}
while (num5) {result += (5
degree);degree/=10; --num5;}
while (num4) {result += (4degree);degree/=10; --num4;}
while (num3) {result += (3
degree);degree/=10; --num3;}
while (num2) {result += (2degree); degree/=10; --num2;}
while (num1) {result += (1
degree);degree/=10; --num1;}
while (num0) {result += (0*degree);degree/=10; --num0;}
doCycle = 0;
}

printf ("\nÐåçóëüòàò ñîðòèðîâêè ðàâåí: %lld\n\n", result);
return 0;
}


Алсо, какого хуя не копируется кириллица из моего любимого DEV C++?
406 1293965
>>93049
https://pastebin.com/bhuaMBDC

Лови в нормальном виде
407 1293968
Только что понял, что это говно работает только с положительными числами, но на отрицательные мне дописывать лень, короче принцип ты понял
15371172915590.jpg72 Кб, 578x600
408 1293969
>>93964
Твой код напомнил мне пикрил
Elon Musk smoking weed.gif109 Кб, 516x472
409 1293971
>>93969
Знаю что непрофессиональная хуйня

Но там повыше парень битами и сдвигами жонглировал, я блять не понял нихуя, хоть в теории и знаю что это такое

а как иначе реализовать без мам, пап и массивов с векторами и Наилями в душе не ебу, честно
410 1293973
>>93971
Вместо миллиона переменных num сделай один массив. В первом цикле используй введенное число как индекс массива (nums(num)++). Во втором цикле замени тучу циклом while на один цикл for от 0 до 9 и один while внутри него.
411 1293974
>>93971

>а как иначе реализовать без массивов


Это обязательно?
412 1293975
>>93974
Парень который задавал вопрос указал это как одно из условий (а еще нельзя использовать никакие хедеры кроме <stdio.h>)
413 1293978
>>93971
Ну как

Твоя задача отсортировать цифры по убыванию: 2860327 => 8632270
Цифр у тебя мало, всего 10 штук, значит удобно применить сортировку подсчетом https://ru.wikipedia.org/wiki/Сортировка_подсчётом
То есть тупо считаешь число девяток, число восьмерок и дальше как-то их записываешь.

Ты можешь легко узнать последний разряд числа хуиткой типа
while (n != 0) {
posledniy_razryad = n % 10;
n = n / 10;
}

Ты можешь легко дописать цифру слева хуиткой типа
yoba = yoba + cifra 10^длина_числа.
а цифру справа хуиткой типа
yoba = yoba
10 + cifra_sprava

Остается это скомбинировать. Считаем число нулей, записываем. Считаем число единиц, записываем справа от нулей. Считаем число двоек. И так далее, до девяти.

Получится вот так

https://ideone.com/VelFpW
414 1293981
>>93978

>2860327 => 8632270


Тут с семеркой проебался

>Считаем число единиц, записываем справа от нулей


А тут слева конечно же
415 1294042
>>93596
Проиграл
416 1294088
>>93964

>как ожидать от пользователя ввода между обратным отсчетом в циклах


Колдовать с API операционки для неблокирующих и не выводящих на экран чтений. Можно в другом потоке, но все равно нужен ввод без эха.
417 1294190
Аноны, как можно создать без вектора динамический размер с реализацией функции push_back? Я вот попробовал, создал двумерный массив для хранения строк

>char names = new char * ;


А после добавлял туда по одному элементу

>names = new char[нужный размер];


И увеличивал счётчик на единицу за каждый элемент, а потом с помощью цикла использовал элементы как мне нужно. Но когда пришло время очистки памяти компилятор начал ругаться за утечку памяти. Может кто подсказать нормальный способ, или хотя-бы как правильно очистить память в моём случае, вот так вот выдаёт ошибку

> for (int i = 0; i < arraysize;i++)


delete [] names;
418 1294191
>>94190

>динамический массив


>delete names


фикс
419 1294192
>>94191
Блять, там вообщем i-элемент в обоих случаях создания и удаления строки, абу не пускает.
420 1294198
>>94190
ты когда новую память выделяешь старую освобождаешь?
421 1294205
>>94198
Не совсем понял вопрос. Когда мне нужно старую освобождать? Мне нужно на ходу составить массив из нескольких элементов, их количество заранее не известно. От чего нужно освобождать память, если я создаю несколько элементов массива?
422 1294208
>>94205
Когда ты вызываешь
names = new char[нужный размер];
ты выделяешь абсолютно новый блок памяти
Соответственно старый со старыми данными остаётся висеть в памяти
Выделяешь новую память -> копируешь данные в новую память -> освобождаешь старую память -> присваиваешь указателю на старую память адрес новой памяти
423 1294211
>>94208
Да я там элемент массива создать пытаюсь, тут просто нельзя квадратные скобки со значением интерпретируются не так. Там должно быть
names[номер элемента] = new char[размер строки];
424 1294215
>>94211
Код нормально запросит для начала
425 1294216
>>94215
Там большая программа связанная с файлами, сейчас комментариев расставлю чтобы понятнее было и вкину
426 1294221
>>94215
cpp.sh/6ijvn
Держи, там в целом тоже самое что я и писал, только еще код программы основной. Сейчас запустил и заметил что программа в конце зависает, раньше вроде такого не было
427 1294227
>>94211
Пиздец ты нихуя не понял что такое массив, как они относятся к указателям и что делает new
Начинай сначала
428 1294228
429 1294230
>>94227
Бля(
хоть намекни в чём проблема то
430 1294236
>>94230
Ты хочешь хранить указатели на неопределённое количество строк, но выделяешь память только под один указатель
431 1294255
>>94236
Я так понял вот такой записью я создам указатель на указатель на строки размером в 13 символов? Ну как на картинке выходит. А можно ли создать массив из неопределенного количества строк и неопределенного их размера, а заполнить по мере надобности? Или я пик 3 переопределяю их размер? В главе про new и кучу ничего такого не было, извини если очевидные вещи спрашиваю
image.png2 Кб, 480x16
432 1294256
>>94255
забыл пик3
433 1294266
>>94255
Указатель это и есть строка

>А можно ли создать массив из неопределенного количества строк


Нет
И освободить всё потом не забудь
434 1294267
>>94266
Спасибо за помощь
15418129569262.jpg328 Кб, 640x639
435 1294396
Сар котаны, как делать так чтобы рандомные вопросы не повторялись? Спасибо

Сорян за то что много текста

#include "pch.h"
#include <iostream>
#include <string>
#include <iomanip>
using namespace std;

int Player;
int Total;

class Question
{
private:
string Question_Text;
string Answer_1;
string Answer_2;
string Answer_3;
string Answer_4;

int Correct_Answer;
int Question_Score;

public:
void setValues(string, string, string, string, string, int, int);
void askQuestion();
void SetQuestion()
{
srand(time(0));
rand();
int r = rand() % 10 + 1;
switch (r)
{
case 1:
setValues("В каком году началась Первая мировая война?",
"1913",
"1914",
"1915",
"1916",
2,
10);
break;
case 2: setValues("В каком году закончилась Первая мировая война?",
"1917",
"1918",
"1919",
"1920",
2,
10);break;
case 3:setValues("В каком году началась русско-японская война?",
"1902",
"1903",
"1904",
"1905",
3,
10);break;
case 4:setValues("В каком году закончилась русско-японская война?",
"1903",
"1904",
"1905",
"1906",
3,
10);
break;
case 5:setValues("В каком году началась Октябрьская революция?",
"1915",
"1916",
"1917",
"1918",
3,
10);
break;
case 6:setValues("В каком году началась Вторая мировая война?",
"1938",
"1939",
"1940",
"1941",
2,
10);
break;
case 7:setValues("Кто был главным союзником Гитлера?",
"Черчилль",
"Рузвельт",
"Муссолини",
"Хирохито",
3,
10);
break;
case 8:setValues("Когда закончилась Вторая мировая война?",
"1943",
"1944",
"1945",
"1946",
3,
10);
break;
case 9:setValues("Точная дата окончания Второй мировой войны?",
"9 мая", "2 сентября", "1 июня", "22 июля", 2, 10);
break;
case 10:setValues("Когда случился развал СССР?", "1990", "1991", "1992", "1993", 2, 10);
default:
break;
}
}

};

int main()
{
setlocale(0, "Rus");

cout << "Нажмите Enter чтобы начать викторину" << endl;
cin.get();

Question q[10];
for (int i = 0; i < 10; i++)
{
q.SetQuestion();
q.askQuestion();
}
cout << "Вы набрали: " << Total << " Из 100" << endl;
cout << endl;
if (Total >= 50)
{
cout << "Поздравляю, вы прошли викторину!" << endl;
}
else
{
cout << "К сожалению, вы не прошли викторину" << endl;
}
return 0;
}

void Question::setValues(string q, string a1, string a2, string a3, string a4, int ca, int pa)
{
Question_Text = q;
Answer_1 = a1;
Answer_2 = a2;
Answer_3 = a3;
Answer_4 = a4;
Correct_Answer = ca;
Question_Score = pa;

}

void Question::askQuestion()
{
cout << endl;
cout << Question_Text << endl;
cout << "1. " << Answer_1 << endl;
cout << "2. " << Answer_2 << endl;
cout << "3. " << Answer_3 << endl;
cout << "4. " << Answer_4 << endl;
cout << endl;

cout << "Ваш ответ?" << endl;
cin >> Player;
if (Player == Correct_Answer)
{
cout << endl;
cout << "Поздравляю! Правильный ответ!" << endl;
Total = Total + Question_Score;
cout << "Счет: " << Question_Score << " Из " << Question_Score << endl;
cout << endl;
}
else
{
cout << endl;
cout << "К сожалению, не правильный ответ" << endl;
cout << "Счет: 0 " << " Из " << Question_Score << endl;
cout << "Правильный ответ: " << Correct_Answer << endl;
}
}
15418129569262.jpg328 Кб, 640x639
435 1294396
Сар котаны, как делать так чтобы рандомные вопросы не повторялись? Спасибо

Сорян за то что много текста

#include "pch.h"
#include <iostream>
#include <string>
#include <iomanip>
using namespace std;

int Player;
int Total;

class Question
{
private:
string Question_Text;
string Answer_1;
string Answer_2;
string Answer_3;
string Answer_4;

int Correct_Answer;
int Question_Score;

public:
void setValues(string, string, string, string, string, int, int);
void askQuestion();
void SetQuestion()
{
srand(time(0));
rand();
int r = rand() % 10 + 1;
switch (r)
{
case 1:
setValues("В каком году началась Первая мировая война?",
"1913",
"1914",
"1915",
"1916",
2,
10);
break;
case 2: setValues("В каком году закончилась Первая мировая война?",
"1917",
"1918",
"1919",
"1920",
2,
10);break;
case 3:setValues("В каком году началась русско-японская война?",
"1902",
"1903",
"1904",
"1905",
3,
10);break;
case 4:setValues("В каком году закончилась русско-японская война?",
"1903",
"1904",
"1905",
"1906",
3,
10);
break;
case 5:setValues("В каком году началась Октябрьская революция?",
"1915",
"1916",
"1917",
"1918",
3,
10);
break;
case 6:setValues("В каком году началась Вторая мировая война?",
"1938",
"1939",
"1940",
"1941",
2,
10);
break;
case 7:setValues("Кто был главным союзником Гитлера?",
"Черчилль",
"Рузвельт",
"Муссолини",
"Хирохито",
3,
10);
break;
case 8:setValues("Когда закончилась Вторая мировая война?",
"1943",
"1944",
"1945",
"1946",
3,
10);
break;
case 9:setValues("Точная дата окончания Второй мировой войны?",
"9 мая", "2 сентября", "1 июня", "22 июля", 2, 10);
break;
case 10:setValues("Когда случился развал СССР?", "1990", "1991", "1992", "1993", 2, 10);
default:
break;
}
}

};

int main()
{
setlocale(0, "Rus");

cout << "Нажмите Enter чтобы начать викторину" << endl;
cin.get();

Question q[10];
for (int i = 0; i < 10; i++)
{
q.SetQuestion();
q.askQuestion();
}
cout << "Вы набрали: " << Total << " Из 100" << endl;
cout << endl;
if (Total >= 50)
{
cout << "Поздравляю, вы прошли викторину!" << endl;
}
else
{
cout << "К сожалению, вы не прошли викторину" << endl;
}
return 0;
}

void Question::setValues(string q, string a1, string a2, string a3, string a4, int ca, int pa)
{
Question_Text = q;
Answer_1 = a1;
Answer_2 = a2;
Answer_3 = a3;
Answer_4 = a4;
Correct_Answer = ca;
Question_Score = pa;

}

void Question::askQuestion()
{
cout << endl;
cout << Question_Text << endl;
cout << "1. " << Answer_1 << endl;
cout << "2. " << Answer_2 << endl;
cout << "3. " << Answer_3 << endl;
cout << "4. " << Answer_4 << endl;
cout << endl;

cout << "Ваш ответ?" << endl;
cin >> Player;
if (Player == Correct_Answer)
{
cout << endl;
cout << "Поздравляю! Правильный ответ!" << endl;
Total = Total + Question_Score;
cout << "Счет: " << Question_Score << " Из " << Question_Score << endl;
cout << endl;
}
else
{
cout << endl;
cout << "К сожалению, не правильный ответ" << endl;
cout << "Счет: 0 " << " Из " << Question_Score << endl;
cout << "Правильный ответ: " << Correct_Answer << endl;
}
}
436 1294414
>>94396

>Сар котаны, как делать так чтобы рандомные вопросы не повторялись?


Ты даун? Ты рофлишь что ли? Тебе блять самому удобно читать такое говно?
sage 437 1294436
>>94042
С тобой не играл никто.
438 1294440
>>94414
Сейчас дело не в удобстве, а в работоспособности кода. Как мне сделать так чтобы эти ебанные вопросы не повторялись?
sage 439 1294441
>>94440
Собери их в массив, массив перемешай (std::shuffle), выдавай из него по порядку.
440 1294530
>>93978

>https://ideone.com/VelFpW



Работает, действительно. Можете канонично крестить меня в говнокодеры

switch-case-одебил
Elon Musk Smoking Weed .jpg66 Кб, 1300x651
441 1294639
Хвощ, ковыряю Си, запрашиваю объяснение сего. Если я правильно понимаю, s содержит адрес первого элемента массива. Функция печатает элемент массива, затем меняет адрес, хранящийся в s, на адрес следующего элемента массива.

Но загадкой для меня является сочетание while (s).
Что это значит? Адрес, на который оказывает s, выйдет за границы массива. Если он пустой, то указателю присвоится значение 0 и цикл прервется. Но что если по этому адресу хранится какое-нибудь значение?

int puts (const char
s)
{
while (s) putchar (s++);
return 1;
}

Знаю, что для Си есть отдельный отдел, а у крестобояр ссылки-ссылочки, но раз уж тут тусуюсь уже
442 1294641
int puts (const char s)
{
while (
s) putchar (*s++);
return 1;
}

Блять, опять проебался. Вот так должно быть

>>94639
443 1294642
Поставьте звездочки перед s везде мысленном короче, у меня чёт не работает нихуя

>>94641
444 1294647
>>94639
Строка должна заканчиваться символом '\0' реальный ноль 0х00. При разыменовании он преобразуется в false и цикл прервётся.
Haha yes.jpg26 Кб, 538x491
445 1294652
>>94647
Ай блять, нуль терминатор, спасибо что напомнил
sage 446 1294662
>>94639

>Знаю, что для Си есть отдельный отдел


И там такие как ты не нужны. Как и тут.
447 1294740
>>94641
Нахуя ты разыменовуешь указатель когда его инкрементируешь?
image.png18 Кб, 523x239
448 1294776
>>94740

Он блять везде разыменованный, но операторы * блять отпали какого-то хуя. Алсо, можешь пояснить что не так? Должны же ступенчато отобразиться x, y, z, нет?
sage 449 1294780
>>94776
Господин, пройдите в ньюфаг-тред.
Аутист.jpg13 Кб, 204x247
450 1294783
>>94662
Все ведь когда-то начинали.
Если научусь чему-то большему чем замена CASE CASE CASE как тебе такое Илон Маск циклами спасибо анону >>93978, можете всем двачем деанонить, приезжать и бить ебало за ТЕ САМЫЕ ™ блядские вопросы
451 1294784
>>94780
Сорян, не знал что такой есть. Дематериализуюсь
wg21-schedule-2018-06.png22 Кб, 500x227
452 1294785
Когда сеть в стандарте будет? Обещали в 17, сейчас в 20, а у Саттера в бложике пикча с 23. И я так понимаю, io_context будет заменян на эти самые Executors?
Neo wake up.jpg9 Кб, 500x313
453 1294790
>>94255
Можно поставить на кнопку вызов функции выделения памяти, выделять память размером в выделенная в прошлый раз + введенный размер", первые объекты делать указателями на ранее введеные, а остальные заполнять, либо копировать старые значение адреса нового массива, а старый удалять.

Можно вроде как почти все, если надо.

>>94266
Анон, может ли указатель на указатель на
over9000* на указатель на переменную со значением = 0 вызвать переполнение стека/кучи?
Я предполагаю что да, ведь вроде как указатели тоже занимают место в памяти, хоть и хранят только адреса, но все же, вдруг ошибаюсь
454 1294791
>>94790
*копировать старые значения в память нового массива
455 1294796
Ананасы, как придумать тему для диплома?
Кроме как написать игру сетевую на ум ничего не приходит.
Правда ещё была мысль о проверке работы курсовой/дипломной на соответствию ГОСТу, но как-то ограниченно кажется.
456 1294818
>>94790
Ну да, теоретически можно так сделать, только как потом это разыменовывать?
457 1294820
>>94796
Базу данных напиши
458 1294907
Может кто обьяснить почему когда я использую для замены данных в бинарном файле обьект ofstream то ничего не работает, а при fstream всё хорошо? Пытаюсь поменять местами максимальный и минимальный элемент без массива. Нахожу максимум и минимум, сохраняю их позиции помноженные на размер типа данных. Перемещаю файловый указатель на размер минимума - записываю максимум, ну и наоборот. Если использовать ofstream то все элементы после позиции максимального становятся его копиями, а до принимают значение 0. Если поменять тип на fstream то работает корректно. Сидел 2 часа пока не нашёл какой-то англоязычный форум, комментатор там не знал почему так происходит, но попробовал и сработало. Может тут кто поможет? Я думал вся разница это то, что fstream содержит методы обоих классов, и не создаёт файл при открытии. Или это не баг а фича какая-то?
459 1294909
>>94907
Хотя сейчас протестил на другой версии студии, вроде работает. Это студия шалит так? Сука 2 часа убил
460 1294925
>>94909
Видимо так и есть. Жалко онлайн компиляторы работу с файлами не поддерживают. Вопрос закрыт думаю.
image.png169 Кб, 1596x874
461 1295050
>>94266
Анон, если ты еще тут, можешь ответить пожайлуста. Нужно ли очищать память от указателей, которые никуда не указывают? Вот я создал массив из 10 строк, заполнил из них только 4. При удалении больше 4 компилятор зависает. Пустые указатели удалятся вместе с удалением указателя, который указывает на них? На картинке отметил на всякий случай
462 1295077
>>95050
чем планируешь "очищать"? веничек и совочек приготовил?
463 1295079
>>95077
Только delete и цикл
464 1295085
>>95050
Указатель указывает на память, ты освобождаешь память, а не указатель, указатель в данном случае это просто адрес памяти которую надо освободить
Если у тебя указатели тоже хранятся на куче, то тебе сначала нужно освободить каждую отдельную строку которую ты выделил, пройдясь циклом по массиву, а потом и этот массив целиком
На каждый new у тебя в программе должен быть delete
465 1295088
>>95085
Спасибо.
5858.png11 Кб, 471x389
466 1295219
Не видит x и y (error С3861), вай ?
467 1295226
>>95219
Квалификатор к ним добавь. Вот так:
0.5 figure<T>::x figure<T>::y
468 1295227
>>95226
>>95219
Бля, звездочки протерялись. Ну ты понял.
469 1295228
>>95226
>>95219
Бля, звездочки протерялись. Ну ты понял.
470 1295391
Есть мультиплатформенный код, который восстал из 06 года.

Поясните аноны как работает unsigned(int)
Так как вот именно эта хрень почему-то падает, я не понимаю.
471 1295395
>>95391
Ты о чём?

> unsigned(int)


Это обычный каст инта к беззаконному.
Скорее всего инт был отрицательный, а после кастинга он стал UNSIGNED_MAX
И, наверное, использовался как индекс где-то и выхода за границы массива случился
472 1295400
>>95395
Оно положительное.
Есть ебучие условие
If ( u(i)>x || u(i2)>x) raise()
Причем х точно больше этого говна.
473 1295403
>>95400
То есть, это условие выполняется или нет?
Из-за чего падает?
Попробуй через cppcheck прогнать, может покажет чего.
474 1295456
Надеюсь не слишком тупой вопрос.Я пишу сборник костылей и столкнулся с проблемой, что не могу внутри функции класса получить значения переменных другого объекта, а мне очень хочется. Тоесть есть 2 объекта пупа и лупа. вызываю функцию пупы и внутри неё хочу знать как дела у лупы, отправлять аргументами не вариант.
475 1295466
>>95456
Гугли friend class
476 1295471
>>95403
Бля, пиздос. Кто-то для скорости величины через define поставил и не написал в коммите.
477 1295483
>>95456
Чего? Ну попробуй статический вектор объектов класса, в любом методе любого из объектов хоть все другие объекты этого класса сможешь получить. Это как вариант, но я с таким не сталкивался, так что хз.
478 1295526
Аноны, а как можнр реализовать псевдо-рандом? Чтобы одни значения выпадали чаще других, но всё еще рандомно. Прийдется математические формулы расчитывать и шаманить со srand-ом или уже есть готовое решение? Ну или хотя-бы статейки какие с теорией.
479 1295532
>>95526
Рестартовать цикл, если значение A попадается меньше N раз. Как-то так.
480 1295535
>>95532
Как-то костыльно. Я думал какое-то умное зерно для ранда придумать нужно. Вот к примеру нужно сгенерировать числа от 1 до 100, но чтобы чисел, которые меньше 50 встречались в 2 раза чаще остальных. Это нужно формулы высчитывать? Сюда пришёл чтобы узнать, может где-то уже это реализовывали.
Карьера байтоеба в российских реалиях 481 1295543
Реально ли вкатиться в байтоебство и найти работу в России?
Собираюсь через переехать в спб из своей мухосрани, но есть еще 1-2 года в запасе, которые можно будет потратить на изучение разных штук и технологий. Я понял, что успешный байтоеб в 2019 году должен уметь: в C, C++, Linux, Linux Kernel и какой-нибудь скриптовый язык вроде питона и систему контроля версий, а также алгоритмы и структуры данных для собеседования.
Стоит ли игра свеч? Или лучше оставить байтоебство как хобби, а работать где-нибудь в вебе или энтерпрайзе?
482 1295547
>>95543

>C, C++, Linux, Linux Kernel


За 1-2 года ты даже С++ не освоишь. Выучи что-то одно идеально, а не 300кк языков понемногу.
483 1295590
выложили видео с белорусского осеннего corehard
https://www.youtube.com/watch?v=srhdfL_ytwc&list=PLgsLnJ-wgYTbaNXfp3mjf-eOb62Md9-33
484 1295593
485 1295598
>>95543

>ли вкатиться в байтоебство и найти работу в России?


>переехать в спб из своей мухосрани


все же нужен бекграунд: техническая вышка, 2-3 года работы по специальности кодером у себя в мухосрани..
если этого нет, то тяжко будет..
486 1295607
>>95590
Какая-то хуйня без задач. Кроме рефлексии там вообще есть что-то?
487 1295628
float floatVar = 3.14;
int fl = (int)&floatVar;

Аноны, не понимаю как работает вторая строчка, точнее синтаксис. Можете объяснить? Или статью какую-нибудь почитать киньте.
Что она делает я знаю
488 1295629
490 1295633
>>95630
Что неясно-то?
491 1295636
>>95630
Кармарк, заебал шабить
492 1295637
>>95630
>>95633
Ты читать умеешь? Ты преобразовал ссылку на float к указателю на int, разыменовал его и присвоил значение интовой переменной. Нахуя это вообще? Что за пиздец?
493 1295638
>>95633
Ещё и выебуешься, если такой умный то почему сразу скрин не скинул?
494 1295639
>>95638
Ты кому отвечаешь, шизик?
495 1295640
>>95639
Я подумал что это он написал, сорре, таблетки забыл выпить.
496 1295645

>1295637


Я все равно не понял.
Я просто лабу вузовскую делаю. Нужно внутренне представление числа типа флоат: сначала достал значения битов этой переменной, потом в цикле умножаю побитово это число на перемнную цикла (которая равна 2 в 31 и уменьшается каждый шаг в два раза соответсвтенно), ну и вывожу либо ноль либо один.
497 1295646
>>95645
Ну сделай через union тогда
498 1295648
>>95637
>>95645

>>95646
Я знаю про union, но мне интересно именно, что я скинул. Как эти операции называются? Что гуглить?
499 1295649
>>95645
Биты не так достаются
Bit = (target>>x) & 0x01
500 1295673
>>86157 (OP)
Аноны, вкатываюсь в С++ и сразу пара вопросов:
1) Нужно ли начинать с Си?
2) Можно ли использовать в С++ системные файлы из Си, например stdio.h?
501 1295683
>>95673

>1) Нужно ли начинать с Си?


Необязательно.

>2) Можно ли использовать в С++ системные файлы из Си, например stdio.h?


Можно.
502 1295720
>>95673

>1) Нужно ли начинать с Си?


Обязательно. Прочитай K&R и потом Дизайн и эволюцию С++. Сэкономишь кучу времени, пытаясь понять, какого хуя настолько все через жопу.

>2) Можно ли использовать в С++ системные файлы из Си, например stdio.h?


На С++ сишные хедеры правильно инклудить как <cstdio>, без .h и с "c" в начале. Это особо приветствуется (те же format strings подвержены атакам типа переполнения буфера), но всем похуй.
503 1295756
Как не зайду в тред, одни школьники сидят и просят друг-друга хеллоуворды решать. Пиздец блять. Призываю настоящих олдфагов байтодрочеровов для выполнения моего реквеста ИТТ.

Сейчас изучаю формат PE и разные манипуляции с ним. В частности инжекты. Не могу понять, как работает мануал маппинг, и можно ли вообще замаппить PE в формате exe?
504 1295759
>>95756
Это тебе в ассемблер тред или в Си тред, а тут С++, тут таким зашкварно заниматься.
505 1295764
>>95759
А чем это сейчас крестовые бояре занимаются? Ой, погоди, вы тут сидите базовые алгоритмы покаете, еще и с STL библиотекой. Никаких вопросов!
506 1295777
>>95764
Виндоговно это нормальный такой зашквар, так что твоё кукареканье из-под шконки мало кого интересует
507 1295840
>>95756
Ты не в тот тред пишешь, "олдфаг".
15420151762880.png57 Кб, 200x200
508 1295864
>>95756

>можно ли вообще замаппить PE в формате exe



Можно. Статья 273. Создание, использование и распространение вредоносных программ для ЭВМ наказываются лишением свободы на срок до трех лет со штрафом в размере до двухсот тысяч рублей или в размере заработной платы или иного дохода осужденного за период до восемнадцати месяцев.
509 1295912
Подскажите годных курсов по нейросетям

Это вообще адекватно - на крестах нейросети писать, надо в пайтон вкатываться?
510 1295925
>>95912
они на всем одинаково пишутся (практически). coursera с кучей курсов по машобу поможет.
Но... Лучше не делать велосипедов, а взять библиотеку
511 1295974
>>95720

>Дизайн и эволюцию С++


самая интересная книжка у страуструпа
если че, я всё у него прочитал
512 1296036
>>95974
И до сих пор живешь без галоперидола?
15232485294780.jpg37 Кб, 362x346
513 1296093
>>95720

>Обязательно


Нахуя учить Си ? Чтобы потом путаться и юзать уже "мёртвые" в С++ функции ?
514 1296122
>>95864
Тарищ МАЙОООООР, все исключительно в образовательных целях, для выявления способа защиты коммерческого продукта. Ни один калькулятор при проведении испытаний не пострадал.

>>95777
>>95840
Да я уже понял.

>>96093
Нахуя учить С++? Есть же дотнет. Чтоб самому все ручками писать?!?!?
515 1296225
>>96122

>Нахуя учить С++? Есть же дотнет. Чтоб самому все ручками писать?!?!?


Нахуя тебе Си ? В плюсах добавили хуеву тучу нового, для чего на Сишке приходилось писать свои велосипеды. Только говнокодить станешь больше из-за Сишки до С++.
516 1296607
>>96225
На плюсах велосипеды тоже часто приходится писать, если что
517 1296930
Прочитал Шилда, куда дальше вкатываться ? В QT от Шлее ?
518 1297869
Аноны, как можно написать функцию, которая будет искать все возможные варианты сум какого-то числа? Как на пике. Пытался найти возможные суммы числа (пик 2),а после перетасовывать элементы в них, но выходила какая-то хуйня. Если менять элементы сравнивая с последним, то строки по типу 1 2 2 будут давать мало вариантов, а если с первым - то все остальные. Может кто подсказать примерный алгоритм? Инет обрыл, нашёл только варианты как для пик2. Уже 6 часов сижу думаю, и нихуя не придумал. Если кому нужно, функцию для поиска пик2 оставлю под спойлером cpp.sh/8554k
15407315170690.jpg119 Кб, 761x761
519 1297986
>>97869
Попробуй отталкиваться от матана.
Любое положительное число можно представить в виде n = 1+1+1...+1.
Например если брать число с примера 5, то 5 = 1 + 1 + 1 + 1 + 1 и в этом равенстве можно располагать скобки как захочешь(согласно правилам математики)
5 = 1 + 1 + 1 + (1 + 1) = 1 + 1 + 1 + 2
5 = 1 + 1 + (1 + 1 + 1) = 1 + 1 +3
5 = 1 + (1 + 1 + 1 + 1) = 1 + 4
Количество способов расставить скобки можно найти по числам Каталана (Х-1) число, когда есть Х чисел.
520 1298039
>>97869
Я изначально думал в таком русле, но потом затупил когда начал реализовывать. Выходило 1-1-1-2 - все 4 штуки, потом 1-1-3- три штуки - 2 -3 две штуки и 5. Не пойму как в алгоритме сделать, чтобы оно перебирало все комбинации. Вчера вечером чуть-чуть доработал метод с перестановками, но он почему-то не работает для сумм из 2 чисел. Хотя если вывод добавить, то пишет что оно их меняет, а на деле нихуя. Добавлю свой говнокод, может кто найдёт ошибку cpp.sh/47v4n
Тред утонул или удален.
Это копия, сохраненная 1 декабря 2018 года.

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

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