24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!
Для вкотившихся: ИТТ я постигаю абсолютное могущество С++ - самого охуенного языка программирования на планете. Мне уже удалось написать Хелловорлд, и сейчас я работаю над своим секретным проектом калькулятора.
Короче, я тут модернизировал код из второго урока (переменные), добавив к нему третью переменную под знаком "char" (символы). Хочу сделать так, чтобы между первым и вторым числом у меня была возможность ввести символ (плюс минус делить умножить), чтобы программа поняла, что я хочу сделать с числами. Я правильно использовал char и как мне сделать так, чтобы числа ебались между собой с оглядкой на символ, который мы ввели в промежутке?
>>147316150 switch(symbol) { case '+': res = a + b; break; case '-': res = a - b; break; /// и тд default: cout << "Недопустимая операция (" <<symbol << ")" << endl; exit(1); }
>>147316597 >eak и зачем default дефолт если ты спизданул любую другую хуйню отличную от кейсов, брик прекращает выполнение свитч и отправляет тебя нахуй, иначе будут выполнятся инструкции других кейсов что обычно нахуй ненадо.
>>147316601 Что значит не нужен? Может тебе и ноги не нужны, если ты на стуле сидишь? Если не умеешь им пользоваться в полном объеме, то это только твои проблемы. >>147316683 Сейчас бы в 2017 три гига не найти.
>>147316597 >switch Начинает выбор по переменной, указанной в скобках >case <вариант>: <сделать что-то>; >break; Сделать, если переменная имеет значение <вариант> >default: Сделается, если ни один вариант не подошел.
Несколько советов. Не используй using namespace std; Плохой стиль. Он поднимает всю std в текущую область видимости, а там дохуя имён, которые могут перекрывать твои.
Не используй system("pause"); Платформо зависимая хуйня, не стандартизирована.
setlocale() тоже самое. Не факт что вообще есть такая локаль в системе
>>147316597 1. Пройди уроки об этом 2. Выучи перевод этих слов 3. switch - активируем сравнивание (в скобках что будем сравнивать) case - константа для сравнивания, если подходит исполняется код после : break - выходит из блока switch ибо если не выйти то у нас все операцию буду проходить в блоке по порядку даже если они не подходят default - выполняется если ничего в блоке не равно значению d
>>147317094 До указателей он еще успеет 10 раз дропнуть, а коли не дропнет, значит пусть стреляет - указатели охуенны, нужно ими повелевать а не прятаться.
>>147317162 Ну хуй знает, мне удобнее,например, конфигурацию большого проекта вводить в виде а-ля json (типа qbs) и с комментариями и включая её в репозиторий гита, а не в 9000 окошек и вкладок. Или там пусть в make-файлах, где можно запилить любой сценарий сборки с автотестами и тоже добавить в гит, а заодно в какой-нибудь дженкинс для непрерывной интеграции. Как это сделать из студии я хз, хотя после 2008ой не видел ничего. другойанон
>>147317533 Это конечно все хорошо, но зачем ОПу местные помидоры это советуют. Его ни гит, ни сценарии сборки не ебут абсолютно — нажал на зеленую кнопку, калькулятор заработал.
ОПу надо добавить интерпрайзности и вхуячить CalculateOperationFactory, которая будет отдавать реализацию интерфейса CalculateOperation для каждой из операции калькулятора.
Я возьму пример с Илона Маска и ПОДАРЮ СВОИ ТЕХНОЛОГИИ МИРУ. Гении должны делиться своим талантом с тупым быдлом. Налетайте: https://yadi.sk/d/YLrhMMH43EPgNz
А сейчас я выпущу первое обновление для своего шидевора: после результата будет выскакивать "Посчитать что-нибудь ещё? (Y/N)". Если Y - перекидывает в начало кода, если N - программа закрывается. Так, дайте мне подумать...
ОП, почитай основные запреты программирования, их там около 10 шт, никогда не юзай GOTO, НИКОГДА! Нет ситуаций, когда без него нельзя было бы обойтись.
Долбоёбский калькулятор. Куда полезнее написать конвертер из инфиксной записи в постфиксную и префиксную. Затем заебашить программулину, Которая принимает все три способа и считает выражение любой сложности. Эх, я такое когда-то делал, а теперь даже подобной базовой хуйни не могу запрогать.
Пермский программист Александр Осипович распечатал с помощью 3D-принтера и собрал у себя дома модель терминатора Т-800 из фильма Джеймса Камерона. Терминатор умеет определять свое положение в пространстве, двигает головой и даже пытается говорить. В 2013 году в рамках конкурса изобретателей Александр связался с компанией Google и получил от нее подробный чертеж робота Т800 со всеми инструкциями по установке сервоприводов. В том же году умелец приобрел 3D-принтер и приступил к распечатке частей терминатора из пластика. Работа была закончена неделю назад. Робот пока не способен полноценно передвигаться, но может двигать головой. Чтобы пермский терминатор встал на ноги, необходимы более мощные сервоприводы. Робот умеет определять свое положение в пространстве с помощью гироскопов. Еще машина обучена отвечать на вопросы, получая информацию в интернете. Терминатор также способен к самообучению, накапливая знания в процессе диалога.
>>147319524 Массив n на n это по сути массив, элементом которого является другой массив. В зависимости от вложенности это может быть и массив n на n на n, и так далее.
>>147319586 Дело не в стрельбе в ногу. Дело в том, что другой программист при исправлении кода НЕ МОЖЕТ знать, что на этот кусок кода какой-то биомусор свой goto прикрутил. Поменяет что-то, перенесет строчки -- хуяк, отъебнет в продакшене.
Серьезно, ОП, что будешь писать то когда циклы, указатели, классы, и прочее прочее освоишь? Я вот серьезно проебался с С, начал учить -а что кодить на нем, не знаю. Пиздец как дизморалит
>>147319737 Забей хуй, С и С++ это достаточно низкоуровневые языки и на них спектр задач соответствующий. И требования там большие. Переходи на высокоуровневые языки и сразу придет понимание для чего оно все.
>>147315919 (OP) Аноны подскожити. Мне 16 лет. Не целован, листва. За сколько я смогу выучить С+ и зоробатывать столько чтобы купить деду отдельную квартиру и выселить его туда?
Прочитал про циклы но всё равно не понимаю - каким боком они к моей задаче? Мне НЕ нужно чтобы эти циклы использовались бесконечно и учитывали прошлый результат, мне нужно чтобы результат СБРАСЫВАЛСЯ и новая операция выполнялась независимо от предыдущей.
>>147315919 (OP) С++ гавно тащемто, оно шинит только если ты собрался писать ЖОСТКАЕ ДЕСКТОПНАЕ приложение. Но есть пара но: 1 но - все пишется с нуля что влияет на время 2 но - ты можешь там так наговнокодить что все будет работать через анус
>>147319322 >Почему goto запрещён? Пидоры повторяют это как абсолютную мантру, "патамучта так сказали" и можно сразу почувствовать себя ебать мастером кода и учителем. На самом деле без вариаций на тему goto вроде break, continue и return не обойдется ни один жабапетух. Никого преступления здесь нет, Вселенная не разрушится, если ты используешь goto.
do { //калькулятор твой ебучий } while(nextInputChar == 'Y'); cout << "хуе-мое, спасибо за использование моего говна"; System.exit(1); За синтаксис не ручаюсь, но суть такова.
ОП, ты совершенно неправильно начал обучение программированию. Есть хочешь - подскажу верный пусть вкатиться, без смехуечков. Не хочешь - наступай на грабли дальше, бросишь через неделю и будешь думать, что не можешь в кодинг.
>>147320296 Нах мне тебе что-то объяснять? Я тебе сказал: 1. Есть кейсы, где гото можно использовать. 2. В языках с GC тоже иногда надо освобождать ресурсы. Даже если это не связано с низкоуровневым кодом.
Второе да, в той же жабе надо всякие потоки закрывать и прочая ебала, хотя сейчас есть охуительный try-with-resources и интерфейс Closeable, так что нахуй никому не вперлось освобождать все это говно. Ну, за исключением когда ты пользуешься Unsafe, но тут уже надо четко понимать что делаешь, и такие случаи в реальном проде весьма редки.
А про goto ты чет парашу мне в уши льешь, приведи мне код, где без goto ну никак, а я его тебе бесплатно отрефакторю.
>>147320789 Джуна на с++ могут тебе только очень богатые работодатели позволить, ибо за джуном на крестах нужен глаз да глаз, потому что вероятность выстрела в ногу всему составу разработчиков весьма велика.
А поскольку следить будут опытные разработчики, то на это будет уходить их время, что равняется деньгам.
Работа над обновлением в процессе. Объясню что сейчас делаю: я пока отвлёкся от циклов и обратил внимание на условие деления. Там у меня было так, что если в символе что-то кроме "+, - или *", то по умолчанию числа делятся. Это НЕправославно. Я вставлю условие с делением как полноправное условие, а если пользователь введёт посторонний символ, ему выведется сообщение с предупреждением и перекинет в начало кода.
>>147320688 Вот этого двачую. Петухи мельком видели его в школе, а петхи-ньюфаги - даже в виде мерзотного дотнетного отродия ABC. И потом такие называют его языком низкого уровня. А могли бы даже научиться программировать ведь.
>>147320897 Ну смотри, сейчас тут будут все ржать, меня обоссывать, и т.д. и т.п. Но я не траллирую. Короче, ставишь Borland/Turbo Pascal я бы посоветовал классический ДОСовский, но есть и PascalABC (в нем ты даже вин-окошки можешь спокойно кодить), качаешь книгу (могу нагуглить автора, не помню просто) , находишь вузовские лабораторные задания и вперед и с песней. Понимаешь, что такое типы, данные, операторы, циклы, матрицы, ну ты понел, и как все это работает. И делаешь лабы. Это заложит в тебя азы алгоритмирования. И только после этого, бля, когда любые конструкции для тебя будут очень просты, когда ты начнешь думать как кодер, ты начинаешь изучать любой другой язык программрования. ВСЕ! И никогда не сиди в пабликах типа ТИПИЧНЫЙ ПРОГРАММИСТ, говнокод и прочее. Можете обсывать, мне похуй. Ах да, книгу сначала просто прочитать один раз, неважно, что не поймешь.
Поясните подробнее за system("pause") и return(0). Return используется для перехода на нулевую строку? Это замаскированный Goto? Если я впишу туда return(1), он будет перекидывать в начало?
system(pause) отвечает за системную паузу, это я вдуплил. Код с выбором Y/N вставлять ДО или ПОСЛЕ паузы? Мне кажется до, чтобы программа повисла на выборе.
>>147321682 Это классика! Это, блядь, знать надо! Вот потому сейчас столько макак, которые "научились" на кодакадеми и прочих, а работадателям ничего не остается, как брать их за еду.
>>147321854 А чем это отличается от обычного обучения по книге? Там, с задачками? Не могу сравнить, потому что не знаю, что там в вузаиках за лабы бывают
>>147321682 Сука, как этот подход устарел, и как на него нет времени, если 99% обсуждений в типа-программистских нитях относится вообще к самым основам? Блядь, борландовская поставка включала в себя охуитительнейшую справку с примерами и шикарно задокументированные сорцы демок, охватывающие все, что только возможно. Там даже учебника не надо никакого. Но нет, потратим драгоценное время на поиски советов петухов в Гугле.
>>147322073 Я намекаю на SQL-инъекции, в твоем случае, это питон-инъекции. Подумай, что будет, если юзер на приглашение ввод ch введет что-то вроде + 'op hui' +
>>147321938 Вот тем и отличается классическое обучение нормального программиста - научиться его думать абстрактным кодом, язык не важен. Видеть наперед, где и какой да даже тот же цикл нужен, какой будет объект и какие у него будут методы и свойства. И так далее. А не задрачивать ньюфага на конкретный какой-нибудь язык как на тех модных сайтах, где он делает это как обезьяна в прямом смысле. А лабы они просто призваны отточить твое умение, сначала учишь теорию, смотришь примеры. Паскаль для обучения алгоритмированию очень хорошо подходят, не слушай петухов, которые только и умеют смеяться над ним. (при желании ты можешь спокойно на нем пилить вин-приложения, писать клиент-серверы, даже очень минимальные приложения в ничтожные килобайты, да, даже на дельфи) Доступно, надеюсь?
>>147322133 Ок, тело цикла у нас есть. А как сделать триггер, чтобы в зависимости от ввода Y или N прога перекидывала в начало или закрывалась? >>147322255 Goto такой няшный :3
>>147322464 >>Ок, тело цикла у нас есть. А как сделать триггер, чтобы в зависимости от ввода Y или N прога перекидывала в начало или закрывалась? Добавить еще цикл или гото. Подумай, это не сложно.
>>147322393 ну хот убейте, не понимаю - почему паскаль, а не си? Что в нём такого? Кроме того, что он избыточен и килостроки кода на нём с трудом читаются?
>>147322606 Потому что он ПРАВИЛЬНО описывает переменные и прочее, прививает хороший тон. Ну и очень легкий, не заботишься о запоминании сложных конструкций. Дальше извращаться можешь на чем угодно.
>>147322547 зачем тебе в обучении ассемблерные вставки. ебался с олимпиадками со своего шестого класса на турбо паскале потом пересел на хмурого С++, и не вспомню ни одного раза где использовал что то кроме директив препроцессора, чтоб задачки олимпиадные в указанное время точно выполнились. как фича на которую можно сказать "УХ ТЫ" сойдёт, но применения широкого не обретет никогда. я не спорю, просто свою точку зрения тебе объясняю
Привет ребята! Я гляжу тут у вас святилы российского программирования собрались. Посоветуйте человеку не особо знакомому с этим делом с какого языка проще начинать программить 3D графику.
>>147322103 Как будто в паскале нитях такого не было. А потом еще переучивать этого горбатого-паскале программиста но нормальные языки и современные подходы.
>>147323141 Нахуя нужно давать людям заведомо неправильные парадигмы ДЛЯ ОБУЧЕНИЯ, если можно сразу дать нормальные и быть уверенным в том, что если он их освоит, то проблем у него не будет?
>>147323366 Смотри, у тебя там выводятся коуты. Коут это вывод текста на дисплей, но он уже есть ниже в виде "cout C", или типа того. Как сделать так, чтобы С только присваивалось нужное значение в зависимости от выбора, а вот ВЫВОДИЛСЯ он уже нижним коутом? Короче, мне надо убрать коут из свитча.
>>147323009 Нет. Это фичи именно учебного языка, а учебными языками индустрия не больно балует. Смысл в том, что Паскаль идеальный инструмент обучения.
>>147316948 Долбоеб? Программа жрет одинаковое количество памяти независимо от того, написали ее в блокноте или в полноценном IDE. Я не представляю, о чем с тобой дальше говорить после такой фразы. Ты сам себя обоссал.
>>147322717 Щас бы пообнулять в 2к17 смотри текущий стандарт, конпелятор уже так годов с 90 умеет это сам делать, еще и в 11 стандарте auto добавили для явно определенных переременных.
>>147323657 В других языках ему придётся привыкать, что всё регистрозависимо. В других языках ему придётся привыкать, что строки реализовываются по-другому. В других языках ему придётся привыкать, что массивы нумеруются с нуля. В других языках ему придётся привыкать, что в массиве нет элемента под номером N.
Не стоит лезть в Паскаль, его принципы умерли и нигде не используются. Кроме, собственно, Паскаля.
>>147323655 Как скажешь. Значит смотри, я доработал СИАУТ с учётом верхнего кода, теперь мне нужно чтобы после предупреждения прога подвисала на 3 секунды и перекидывалась в начало, ИЛИ перекидывала сразу, если ты нажал энтер. Сейчас буду думать над этим
Алсо я не буду удалять верхний фрагмент, пока не убежусь, что нижний отлажен как надо. Потому что верхний работающий потом уже не вернёшь.
>>147323971 То, что в кейсе написано, тебе надо присвоить чему-то. Это не перл, здесь нельзя использовать результат последнего вычисления как часть переменной.
>>147323971 >нужно чтобы после предупреждения прога подвисала на 3 секунды и перекидывалась в начало, ИЛИ перекидывала сразу, если ты нажал энтер Вот этого ты сейчас не сделаешь. Можешь сразу забить и вернуться через полгода, когда узнаешь про потоки.
>>147324119 Ладно, в пизду паузы и энтеры, я просто хочу заменить ифы свитчем, и чтобы при несанкционированном символе выдавалось предупреждение что ты всё сломал и перекидывало в начало кода. Я СМОГУ ЭТО ОСИЛИТЬ ИЛИ ПОГИБНУ, ПЫТАЯСЬ
>>147324149 Но мне 22 и я уже полгода зарабатываю деньги тем, что пишу на C++.
Это не сложно. Но нахуя учить этому людей, когда всё то, что нужно для ОБУЧЕНИЯ, есть и в нормальных языках?
>>147324192 Вот именно об этом я и говорю. Человек, который переходит с Си на Яву, не будет сбиваться с нумерацией элементов в массиве. Человек, который переходит с крестов на шарп, тоже не будет. Человек, который переходит с шарпа на питон, тоже не будет иметь таких проблем. А человек, который переходит с паскаля на Си, кресты, яву, шарп или питон, должен будет постоянно держать в голове, что массивы нумеруются по-другому.
>>147324375 > Вобще всем рекомендую основы асма Зачем же так жестоко? Я в асм залажу только иногда ради аптимизации. Больше он особо на хуй не нужен мне. avr-кун
>>147324299 >malloc Слабовато, почти не печет. Я, преподавая, видел уебанов, которые вместо индексации массива писали *(arr+i), но почему, объяснить не могли. Когда у них ломалась куча, я отказывался даже смотреть, пока не вспомнят про нормальный оператор индексации. В половине случаев переписывание через оператор вправляло мозги гению, и проблема сама решалась.
>>147324375 Завтра ищешь в интернете книжку Dive into assembler. Похуй если ничего не поймешь. Затем идешь на wasm и изучаешь стандартные команды от корки до корки. Потом зубришь, именно, сука, вызубриваешь все команды процессора x86-64, чтобы от зубов отскакивало. Когда напишешь свой первую файоловый менеджер, по пути изучив метапрограммирование, скачиваешь и изучаешь любую библиотеку макросов. Как переделаешь файловый менеджер, чтобы открывал по крайней мере fat32, ntfs, ext3,4, можешь идти дальше - тебя ждет увлекательный мир задротства. AVR, AMTEL. Отсос хиккующих выблядков / просто неудачников типа рейфага или сисярп/джава-хуесосов, которые сосут хуй по жизни не заставит себя ждать и уже через пол года ты будешь получать такие суммы, что любая баба будет течь при одном упоминании твоей зарплаты.
>>147324715 Я понял что надо присваивать С, а не D. Спасибо, перениму и переделаю. Алсо, я тут с циклом начал ебаться, вроде как заключил всю хуйню в while. Толком не понял зачем, я ещё параллельно урок с циклами читаю.
>>147324621 А кто сказал, что начинать обучение нужно с языка общего назначения?
Паскаль всегда был, есть и остаётся языком для обучения. Именно поэтому его преподают в школах и на первых курсах. Именно поэтому тот кун посоветовал Паскаль. А что касается "такое в %язык_нейм% не прокатит, нужно переучиваться!" — так а кто сказал, что человеку вообще потребуется переходить на другие языки? Зачем?
Если он хочет сделать программирование своей профессией, то вообще похуй, на чём обучаться. Резкие переходы с одного языка на другой наоборот помогут в профессии, потому что тренды меняются каждые два года, и в IT вообще нужно уметь быстро изменяться под реалии рынка.
Если же человек хочет программировать для удовольствия, то пусть хоть на бейсике пишет. Я специально иронично упомянул QBasic: мой род деятельности никак не связан с программированием (я безработный), программирую я для фана, так почему меня должно волновать, что в современных языках всё иначе? Я получаю свой фан на Матлабе, а всё остальное меня не волнует.
>>147324845 от сумм бабы будут течь, как прыщи на лице. это, конечно, всё прибыльно, но пока всё выучишь - жизнь будет чуть больше чем проёбана. и не факт что вместо тебя не возьмут уёбка, который показал программу полностью на mov'ах?
>>147324504 >сбиваться с нумерацией элементов в массиве Если это вызывает сложности, собирай манатки и заканчивай карьеру к хуям, пока не поздно. Я не хочу когда-нибудь случайно запустить программу, которую писал человек, сбивающийся на синтаксисе.
>>147325120 Во первых == это оператор сравнения, оператор присваивание =. Во вторых " " это строка, а у тебя символ, правильней ' ' хотя конпелятор может схавать.
>>147325235 >>Именно поэтому его преподают в школах и на первых курсах. Ни хуя. Не в школе, не в вузе я не притрагивался к паскалю. Первый язык был бейсик, а потом си.
>>147324823 > Слабовато, почти не печет. Я, преподавая, видел уебанов, которые вместо индексации массива писали *(arr+i), но почему, объяснить не могли. Когда у них ломалась куча, я отказывался даже смотреть, пока не вспомнят про нормальный оператор индексации. В половине случаев переписывание через оператор вправляло мозги гению, и проблема сама решалась. А какая разница, собстнно говоря? Я пробовал делать и так и так, результат одинаков. Хотя если массив двумерный, то удобней таки через оператор, да. avr-кун
>>147325066 Есть оператор, который делает то же самое, но нормально читается и переопределяется. Можно и циклы писать через goto, но почему-то же их так не пишут.
>>147325494 Не ну у нас же строки реализуются как массив символов, так что теоретически может схавать. Если бы он инициализировал как указатель на чар[] то тогда схавал бы.
>>147325353 Да как бы разницы нет. Фактически компилятор это и делает на месте []. Это просто сельскому учителю программирования печет, что он не смог вкатиться в жабу
>>147325721 > >Сейчас в школах активно используют PascalABC.NET, хотя я знаю школьника, у которого в школе они проходят FreePascal. And where is your God now Да на самом деле вобще похуй на каком языке писать, все программирование заключается в считывании, изменении и сохранении информации. Различие языков лишь в удобстве работы, представлением информации(lisp), способом компиляции (java, python).
Доброго всем времени суток. Меня зовут Пааво Лепик. Я - идея, чистая и абсолютная. Идея должна быть воплощена. Этим воплощением стал проект МИГ.
1. Все и всегда идет по плану, даже когда такового нет.
Проект МИГ сейчас существует в форме двух систем. Первая система именуется "отрывками". Каждые три дня у случайного человека на странице Вконтакте появляется новый отрывок романа. Роман - это летопись. Роман - это история. А что, если в нем не описываются события, а предсказывается будущее и генерируется дальнейшая судьба? Представьте, что будущее формируется под действием этого романа. Собрав все отрывки и расположив их в верном порядке, заполучив все подсказки, вы получите многие ответы на исключительное количество вопросов и заданий. Вторая система представлена в виде еженедельных заданий. Каждую неделю в полночь с пятницы на субботу участники (игроки) получают общее поручение, а некоторые - персональные. За их невыполнение участник получает условное наказание ударами знаменитой плеткой из розовой пастилы. За успешное выполнение поручений участник получает "пряники". "Пряники" есть условное название поощрений. Каждый игрок волен выбрать его себе сам. Любая услуга или любая материальная вещь. О том я буду обеспокоена лично, ведь любое творчество и любое дело должно быть оплачено и поощрено, верно? С каждой неделей сложность заданий возрастает по причине того, что для их исполнения будут требоваться все новые знакомства, ресурсы физические, умственные и духовные.
2. Чтобы получать ответы, нужно задавать вопросы.
Однако, зачем вовсе этим заниматься? Задания? Поручения? Зачем? Проект МИГ сводится к поиску новых жанров, стилей и форм всех сфер искусства, а вместе с тем ваяние культуры, моды, духа нашего века. Искусство, творчество, культура, даже наше мировоззрение и мировосприятие - всем этим правят старые, заскорузлые мысли и понятия, старые рамки, формы и нормы. Ветхие правила. Одна из функций и задач проекта МИГ в том, чтобы объединять, объединить творческих людей и людей, что могут по-новому смотреть на мир, и вместе ваять саму сущность культуры, духовного мира, искусства во всех его многообразных проявлениях. В недалеком будущем в каждом из городов, имеющего своего координатора из числа игроков, будут организовываться и проводиться различные перфоманс-акции, культурные мероприятия и просто забавные и интересные вещи, на которые вы сами бы не решились, на которые вы бы смотрели исподлобья из-за их возможной нелепости в глазах непонимающего общества. Мы создадим новые понимания о духовности, создадим новую атмосферу и новый культурный и высокий век.
Проект МИГ отрицает насилие, направлен на взаимную помощь, развитие и познание интересного и необычного.
Проект МИГ с радостью примет всех желающих и заинтересованных в деятельности.
>>147325707 Хуита, switch делать в цикле не лучшая идея. А если вдруг приспичит break сделать из цикла? Я всё же обычно предпочитаю в циклах конструкцию с ифами как на твоей пикче. Хотя в некоторых случаях таки switch выглядит куда круче, например я как-то делал в switch оператор break по условию, чтобы при невыполнении условия он переходил к следующему case и выполнял заодно и его. Выглядет оче круто и мозгоразрывающе. avr-кун
>>147325235 Я просто не понимаю, какой смысл давать человеку специальный язык для обучения? Я, например, в программировании за 1.5 года университета (и нескольких лет в школе) так и не стал нормально разбираться. Ну, то есть на формальному уровне я, конечно, всё знал, но было чувство какого-то недопонимания, зачем и почему я делаю всё именно так.
А потом я решил написать пару вещей для себя. Тут меня уже никто не вёл за руку, ОБУЧАЯ каждому оператору, мне приходилось самому разрешать все проблемы. И знаешь, чувство недопонимания куда-то пропало, как будто его и не было.
Мораль - хочешь выучить кодинг, не давай вести себя за ручку каким-то ОБУЧАЮЩИМ ЯЗЫКОМ, а сразу, после знакомства с минимальной матчастью, хуярь что-нибудь сложное (сложное и полезное лично тебе, блядь, а не класс для работы с комплексными числами). Там и поймёшь, нахуя все эти циклы, виртуальные функции, наследование и прочие вещи.
Все хуйня, решай это На плоскости задано множество точек с целочисленными координатами. Необходимо найти количество отрезков, обладающих следующими свойствами: 1) оба конца отрезка принадлежат заданному множеству; 2) ни один конец отрезка не лежит на осях координат; 3) отрезок пересекается ровно с одной осью координат. Напишите эффективную по времени и по используемой памяти программу для решения этой задачи. Программа считается эффективной по времени, если при увеличении количества точек в k раз время работы возрастает не более чем в k раз. Программа считается эффективной по памяти, если размер памяти для хранения всех необходимых данных не зависит от количества точек и не превышает 1 килобайта. Перед текстом программы кратко опишите алгоритм решения и укажите язык программирования и его версию. Входные данные В первой строке задаётся N — количество точек в заданном множестве. Каждая из следующих строк содержит два целых числа x и y — координаты очередной точки. Гарантируется, что 1 ≤ N ≤ 10 000; –1000 ≤ x, y ≤ 1000. Пример входных данных: 4 6 6 -8 8 -9 -9 7 -5 Выходные данные Необходимо вывести единственное число: количество удовлетворяющих требованиям отрезков. Пример выходных данных для приведённого выше примера входных данных: 4. мимо школьник сдаю егэ в этом году написал эту хуйню в гомопаскале за 7 минут 32 секунды
>>147326015 А кто сказал, чт тут нужен цикл? Определенный набор операций, связанный логическим поведением, стоит выделять. Функция. Вот и цикл уходит. Для малой программы не страшно, но хотя бы 3-4сотни строк, то уже надо разделять.
>>147326015 > Хотя в некоторых случаях таки switch выглядит куда круче, например я как-то делал в switch оператор break по условию, чтобы при невыполнении условия он переходил к следующему case и выполнял заодно и его. Юзал пару раз эту фичу, не более. мимо-embedded-кун
>>147326099 >Там вроде как нет '\0', вместо этого вначале строки пишется ее размер. Если я не ошибаюсь
В любом случае команда eof ищет нуль-символ в строке, если отлаживать в памяти он есть. А ебля с нуль-символами только в си и есть, в нормальных языках все проще.
Так, тело цикла готова, свитч тоже. Сделан ввод Y или N. Теперь надо правильно написать триггер, чтобы при вводе Y цикл перезапускался, а при N прога закрывалась.
>>147326430 Давай дам наводку. Пользователь вводит все данные и ты вызываешь функцию, которая содержит кейс и все операции внутри. Если не корректно, то вызываешь эту же функцию с этими же данными.
>>147326042 За ручку тебя никто никуда не ведет в случае с Паскалем. Это не обучающая игра и не онлайнкурсы со смехуечками. Под обучением подразумевается усвоение принципов правильного программирования, которых ты не можешь нарушить из-за самой сути языка. А нужно ли это? Ну, возьмем другой мертвый язык. Перл. Попробуй на нем обучиться чему-нибудь, когда он позволяет начать писать совершенно не зная синтаксиса - как догадаешься, так и работает.
>>147326400 Внутри которого всё тот же malloc() / realloc() / free(), разумеется, это удобно, но ты должет осозновать, что если ты тащищь кресты на контроллер, то тебе понадобится манагер heap'а и перегрузка new и delete
>>147326254 >уче, например я как-то делал в switch оператор break по условию, чтобы при невыполнении условия он переходил к следующему case и выполнял заодно и его. Возможно некорректная работа программы>>147326400 >льный" std::strin стд стринг это тот-же массив чаров, а в памяти все выглядит одинаково.
>>147326240 Да я вообще-то говорил про switch внутри цикла. В этом случае получается что и у цикла свой break, и у switch тоже свой. И если, как это принято, делать в свитче break, то на цикл он не будет влиять никак, а вот если простыми if... else, то тут при break однозначно выход из цикла. А такое требуется достаточно часто. Поэтому я и говорю, что отдельно оператор switch неплох, но следует понимать, что это не то же что if... else, и внутри цикла его использовать часто геморно. А у этого анона как раз он внутри while находится.
>>147326513 На самом деле. Вот если бы надо было считать площади, без массивов и все хуйни, тогда да, надо было бы формулу выводить, но это уже олимпиадный уровень. А тут очень легкая задача, на самом деле
>>147325999 Хорошая сама идея, что строки из коробки, со всеми нужными операторами и функциями. Сколько в С не копротивлялись с массивами чаров, в плюсах к паскалеподобным строкам все равно пришли.
>>147326779 Тут есть координаты в плоскости, разные приколы типа "пересекаются ли отрезки?". Я не вникал в условия, поверхностно взглянув на слово "пресекается" ровно увидел как три часа ебался с гуглом на тему пересечения отрезков.
>>147326952 Ну как я понял, тут сам по себе while не совсем подходит. Такие вещи лучше использовать, когда файл читаешь или что-то такое, что не нужно прерывать, что прерывание самими данными. Вечный цикл, например, в гуи.
>>147326657 > while (1) Мне нужно чтобы цикл выполнялся пока есть Y. Если юзверь введёт N, прога закроется. > system pause Без него после результата прога закрывается за 1 миллиардную секунды, ты даже результат калькуляции не увидишь.
>>147327376 >Без него после результата прога закрывается за 1 миллиардную секунды, ты даже результат калькуляции не увидишь. Можешь ипользовать _getch(); Ожидает введение любого символа.
>>147327376 твоя прога не закроется никогда при таком расположении строк кода. Как минимум тебе нужно засунуть cin и предыдущую строку в цикл. Как максимум, спили мушку, сынок.
Запихнул нижний текст с сином в цикл, но не знаю как это всё будет работать. Я задал чтобы цикл работал при X == 'Y', но ведь прога не знает, что X = Y, потому что я не присваивал иксу это значение в начале. Я просто объявил, мол есть чарная переменная Х. Значит мне перед циклом присваивать иксу Y? Это значение будет перезаписываться другим, которое введу в конце (например тем же N или любым другим)?
Можно же просто заменить "закрывание при любом другом символе" на "ПРОДОЛЖЕНИЕ при любом другом символе"! Нет стоп... хуйня какая-то. Прога должна закрываться по умолчанию, если пользователь не захочет обратного. Нет, это не катит. Цикл должен ЗАВЕРШАТЬСЯ, если не введено Y. Продолжаем думать.
>>147327943 когда ты читаешь С, ты читаешь пробел после первого числа. А потом ты пытаешься прочитать "плюс" в целочисленную переменную. Убери пробелы, должно работать.
>>147315919 (OP) А как в вижуал студио C++ запихнуть в exe? Си Шарповский проект сразу собирает сборку в exe, а на плюсах в сборке куча каких-то файлов, но нет exe
>>147315919 (OP) Зачем ты во всеуслышание заявляешь, что учишь плюсы и не задействуешь ни одной фишки плюсов и ООП в целом, кроме потоков ввода и вывода(даже не зная что это такое в общем случае и используя их "чтоб текст в консоли напечатлся")? Зачем выебываться? Прописываю тебе изучение традиционного СИ по Кернигану Ритчи. С принт эфами, ага.
>>147328249 Чё ты мозг то ебёшь? сделай как я сказал и запусти свою залупу. Логика то простейшая: x = 'y'; while(1) { if(x !='y') return 0; обработки обработки; ввод x; }
>>147328351 я пока в школе учил мне в голову вбили, что read вообще не используют сейчас и вместо него профитнее юзать readln. Ну либо училка хорошая(у нас даже не турбопаскаль был, а обычный)
>>147328292 Я не с пеки и не могу задебажить, но насколько я помню теорию - read читает несколько переменных именно через пробел. (А пробелы а самом коде ничего не меняют).
>>147328249 Нахуя ты мучаешься, мудак? Оберни весь метод в if-else На крестах не знаю, как эту херня выглядела бы, но вот пример на джаве.
System.out.println("хотите Бля запустить? N/Y"); // выводит в консоль "хотите Бля запустить? N/Y) //короче тут ждёт, пока юзверь введет что-то //тут его ответ заносится в переменную userMessage типа String
>>147328909 >>147328249 Нахуя ты мучаешься, мудак? Оберни весь метод в if-else На крестах не знаю, как эту херня выглядела бы, но вот пример на джаве.
System.out.println("хотите Бля запустить? N/Y"); // выводит в консоль "хотите Бля запустить? N/Y) //короче тут ждёт, пока юзверь введет что-то //тут его ответ заносится в переменную userMessage типа String
if(userMessage.equals("Y")) { //тут метод твоей запущенной проги }else{ break; }
>>147329191 >нипанравится >воот коогда будешь работать... вот тогда Так чем лучше/хуже? Не нравится инт, можно взять short, bool, если так память дорога
>>147328663 не профитнее, они для разных задач. я мб уже ошибаюсь, давно на паскале не писал (занимался олимпиадным программированием, съебался на плюсы давным давно), но например, если в строке будет 5 чисел, а ты с помощью readln прочитаешь одно, то остальные ты уже никогда не сможешь прочесть - он переведёт каретку на новую строку, проигнорив остальное.
а вот read спокойно пропустит перевод строки и при необходимости прочитает числа и в разных строках.
Первая часть тонет здесь: https://2ch.hk/b/res/147301990.html
Для вкотившихся: ИТТ я постигаю абсолютное могущество С++ - самого охуенного языка программирования на планете. Мне уже удалось написать Хелловорлд, и сейчас я работаю над своим секретным проектом калькулятора.
Короче, я тут модернизировал код из второго урока (переменные), добавив к нему третью переменную под знаком "char" (символы). Хочу сделать так, чтобы между первым и вторым числом у меня была возможность ввести символ (плюс минус делить умножить), чтобы программа поняла, что я хочу сделать с числами. Я правильно использовал char и как мне сделать так, чтобы числа ебались между собой с оглядкой на символ, который мы ввели в промежутке?