Веб-версияОткрыть в Telegram
ООсновы программирования на C++

Основы программирования на C++

@incredible_cpp · группа · Технологии · в индексе с 2026-05-28
351участников
18 322сообщений в индексе
Ю
вы извините, может я зря сюда пишу(может тут что-то другое обсуждается)...
  1. ✨
    Да нет, вы, конечно, задавайте вопросы, если они появляются. В этом нет никаких проблем.
Вся ветка · 1 ответ →
✨
Юрий Васильевурок 2.2 - а разве в объявленную переменную (но не присвоенную не записывается 0 (для целых), false для булевых переменных?
Нет. В спецификации C++ не определено действие, которое должно производиться при объявлении переменной с самими значениями в памяти. Чаще всего они просто остаются неизменными — такими, какие были до выделения. Часто может вести, и эти значения окажутся нулевыми. Но если вы прочитаете значение из неинициализированной переменной, никто вам не гарантирует, что это будет нуль: оно может быть любым (иногда совсем что-то почти случайное).
Ю
си-пи-пи для меня язык более низкого уровня (в связи с опытом на сначала Бейсике, затем Паскаль(который вам не нравится - почему?), а затем питон..) Си-пи-пи где-то на уровне чуть выше чистого ассемблера для меня
  1. ✨
    А это я, наверно, подробно не буду комментировать. У всех есть личные предпочтения, и должно что-то в том числе и не нравится. Просто Pascal (как, может, и много других языков) для меня, если, право, так позволительно выражаться, оказался немного некрасив.
    1. Ю
      так сколько лет то уже )) насколько я помню паскаль раньше бейсика появился
Вся ветка · 2 ответа →
✨
Ха, что ж. Сейчас он действительно в сравнении с другими языками может быть близок к зависимому от платформы исполнения ассемблеру или казаться таким. Но на самом деле есть ещё очень много языков между C++ и ассемблером, машинным кодом. Кроме того, если знать, какие концепции присутствуют в C++ (шаблоны, метапрограммирование, модули, ...), окажется, что он не так уж близок к уровню железа и на самом деле очень абстрактен. Просто в C++ большой диапазон этих самых 'уровней', на которых находятся разные конструкции и инструкции, и с помощью некоторых нестандартных инструментов можно даже встраивать инструкции ассемблера в код на C++. Но всё равно большая часть кода у вас будет завязана на классах из ООП и подобном, если только у вас нет цели любыми способами оптимизировать ваш код.
Ю
кстати а структура комментариев в сипипи общая? т.е.: // комментарием является остаток строки /* комментарий между */ ??
  1. ✨
    Да, там именно такие комментарии. Мне кажется, что на такой синтаксис задал моду как раз язык C. Хотя сам такой синтаксис наверняка существовал ещё в других языках и оказался позаимствован. Ой, интересно бы посмотреть.
    1. Ю
      я в детстве увлекался ныне мертвыми языками.. наверное к сожалению ProLog позиционировался как язык искусственного интелекта ( не на основе нейросетей )
Вся ветка · 2 ответа →
Ю
тут "Мы" делаем сразу операции объявления и присвоения (при чем сразу всего заявленного - число с плавающей точкой в переменной number и "Обнуленное" думаю за такое надо негласно поощрить участника курса(ученика)..)
✨
Это задача с кодом, не тестовый вопрос с кратким или развёрнутым ответом. Могу раскрыть секрет: в это задаче используется следующий шаблон кода: ::c++ ::header #include <typeinfo> #include <iostream> using namespace std; int main() { ::code // Здесь не нужны main и include // В ответе всего 1 строчка // Объяви здесь переменную number // ↓↓↓ ::footer (void)123; // Не забывай ;, иначе будет синтаксическая ошибка number; // Переменная должна называться number! const type_info& ti = typeid(number); cout << ti.name(); } Везёт, что в C++ есть элементы метапрограммирования, и с помощью typeid мы можем получить информацию о типе переменной number. Однако в C++ невозможно из самого кода обращаться к текстовому содержимому кода программы. Разве что, я мог бы обернуть видимую вам секцию ::code в сырую многострочную строку ( R"( ... )" ), а потом обработать всё регулярными выражениями, но это было бы очень хрупко. А, и кроме того, если поощрять дополнительные действия, то придётся поднимать баллы за задачу. Тогда получится, что просто объявить переменную будет недостаточно, чтобы получить все баллы за задачу — это уже будет означать, что основная суть задачи — объявить и инициализировать переменную, а не только объявить её. Как-то так. На Stepik нет особых поощрений за доп. действия. Ну, есть только текст, выводящийся при решении задачи, но у него свои особенности. Но вообще такая внимательность к деталям — это очень хороший подход к созданию курсов и заданий; очень хорошо, что у вас появляются такие идеи.
Ю
я не спорю .. вам виднее )) вы жэ автор курса, а не я ))) к томуж я к вам пришел учиться ))) это не в обиду тирада а в уважение
  1. V
    Здравствуйте! Для модуля 4.4 вторая задача на получение количества положительных чисел из общего числа поданных на вход, нашел неточность в части проверок задания: 17 -8 21 -30 2 10 -20 4 8 -26 -9 4 -26 -9 -1 -22 -6 20 В данном наборе чисел 8 положительных, при этом валидатор задания говорит что их здесь 7.
    1. ✨
      Среди этих чисел — тех, что относятся к исходному набору данных, а не обозначают его длину, — всего 7 положительных чисел. Число 17 не входит в набор тех чисел, с которыми должна работать программа.
      1. V
        А, первое число это размер "списка", я просто в while(cin >> a), указал, что позволяет ориентироваться только по вводимым данным, думал что это тоже элемент списка. Спасибо за уточнение.
Вся ветка · 3 ответа →

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Чего мы не делаем · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем