Немного о строках в Си, или несколько вариантов оптимизировать неоптимизируемое

Хабра, привет!

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


Разговор о программировании под Linux медленно перешел к тому, что этот человек стал утверждать, что сложность системного программирования на самом деле сильно преувеличена. Что язык Си прост как спичка, собственно как и ядро Linux (с его слов).


У меня был с собой ноутбук с Linux, на котором присутствовал джентльменский набор утилит для разработки на языке Си (gcc, vim, make, valgrind, gdb). Я уже не помню, какую цель мы тогда перед собой поставили, но через пару минут мой оппонент оказался за этим ноутбуком, полностью готовый решать задачу.


И буквально на первых же строках он допустил серьезную ошибку при аллоцировании памяти под… строку.

char *str = (char *)malloc(sizeof(char) * strlen(buffer));


buffer — стековая переменная, в которую заносились данные с клавиатуры.


Я думаю, определенно найдутся люди, которые спросят: «Разве что-то тут может быть не так?».
Поверьте, может.


А что именно — читайте по катом.
Читать дальше →
Немного о строках в Си, или несколько вариантов оптимизировать неоптимизируемое
Source: habrahabr

Пост №3064121

Автор: Commucap

Готовимся?Развернуть { «@context»: «http://schema.org», «@type»: «BlogPosting», «mainEntityOfPage»:{ «@type»:»WebPage», «@id»:»http://polit.reactor.cc/post/3064121″ }, «headline»: «Готовимся? / митинги :: Навальный :: политика», «image»: { «@type»: «ImageObject», «url»: «http://img1.joyreactor.cc/pics/post/full/%D0%9D%D0%B0%D0%B2%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9-%D0%BF%D0%BE%D0%BB%D0%B8%D1%82%D0%B8%D0%BA%D0%B0-%D0%BC%D0%B8%D1%82%D0%B8%D0%BD%D0%B3%D0%B8-%D0%BF%D0%B5%D1%81%D0%BE%D1%87%D0%BD%D0%B8%D1%86%D0%B0-3780165.jpeg», «height»: 90, «width»: 120 }, «datePublished»: «2017-04-12T14:57:26+03:00», «dateModified»: «2017-04-12T14:57:26+03:00», «author»: { «@type»: «Person», «name»: «Commucap» }, «publisher»: { «@type»: «Organization», «name»: «JoyReactor.cc», «logo»: { «@type»: «ImageObject», «url»: «http://joyreactor.cc/images/joyreactor_ie6.png», «width»: 207, «height»: 54 } }, «description»: «» }
Комментировать 
Пост №3064121
Source: Joyreactor

Пост №3064119

Автор: Naro4iTo

Развернуть &epicComment_3064119& { «@context»: «http://schema.org», «@type»: «BlogPosting», «mainEntityOfPage»:{ «@type»:»WebPage», «@id»:»/post/3064119″ }, «headline»: « — — * ЯЧН * ¿V: ИвД r ¡1Щ ‘ и ? L ‘^m2i ÿiin / куртка :: магазин :: мода :: Без политики», «image»: { «@type»: «ImageObject», «url»: «http://img1.joyreactor.cc/pics/post/full/%D0%BC%D0%B0%D0%B3%D0%B0%D0%B7%D0%B8%D0%BD-%D0%BC%D0%BE%D0%B4%D0%B0-%D0%BA%D1%83%D1%80%D1%82%D0%BA%D0%B0-%D0%91%D0%B5%D0%B7-%D0%BF%D0%BE%D0%BB%D0%B8%D1%82%D0%B8%D0%BA%D0%B8-3780163.jpeg», «height»: 1040, «width»: 780 }, «datePublished»: «2017-04-12T14:50:37+03:00», «dateModified»: «2017-04-12T14:50:37+03:00», «author»: { «@type»: «Person», «name»: «Naro4iTo» }, «publisher»: { «@type»: «Organization», «name»: «JoyReactor.cc», «logo»: { «@type»: «ImageObject», «url»: «http://joyreactor.cc/images/joyreactor_ie6.png», «width»: 207, «height»: 54 } }, «description»: «» }
Комментировать 
Пост №3064119
Source: Joyreactor

Одна задача про кактус-граф

Начинается пора вступительных экзаменов, а значит и решения интересных задач. Пару лет назад Computer Science Center предлагал поступающим разобраться с задачей про кактус-граф, и сегодня речь пойдёт именно о ней. Попробуйте подумать над задачей сами, а затем свериться с решением.

К слову, набор в CS центр уже идёт. В этом году поступить на очное обучение можно не только в Санкт-Петербурге, но и в Новосибирске. Приходите — на занятиях ещё больше интересного.

Чуть больше про CS центр и набор

Computer Science Center – это совместная инициатива Computer Science клуба при ПОМИ, компании JetBrains и Школы анализа данных Яндекса. Центр предлагает двух- или трёхлетние курсы для студентов, аспирантов и выпускников технических вузов, а также молодых специалистов, желающих развиваться в области анализа данных, разработки ПО или теоретической информатики. Занятия проходят по вечерам в Санкт-Петербурге или в Новосибирске.

В 2017 году набор на очное обучение состоит из четырёх этапов:

  • подача заявки до 16 апреля включительно,
  • онлайн-тестирование,
  • экзамен,
  • очное собеседование.

Задача

Кактусом называется простой связный граф, в котором любые два цикла имеют не больше одной общей вершины. Доказать, что максимальное число ребер в кактусе с n вершинами равно $operatorname{floor}frac{3}{2}(n-1)$.

*$operatorname{floor}$ — округление вниз.

Решение

Прочитать решение
Одна задача про кактус-граф
Source: habrahabr

Пост №3064101

Автор: Kurtion

ссылка на гифкуРазвернуть { «@context»: «http://schema.org», «@type»: «BlogPosting», «mainEntityOfPage»:{ «@type»:»WebPage», «@id»:»/post/3064101″ }, «headline»: «Pixel Gif :: twin peaks :: Pixel Art (Пиксель Арт, Пиксель-Арт) :: Bruno Moraes», «image»: { «@type»: «ImageObject», «url»: «http://img1.joyreactor.cc/pics/post/full/twin-peaks-Pixel-Art-Pixel-Gif-Bruno-Moraes-3780143.png», «height»: 480, «width»: 1000 }, «datePublished»: «2017-04-12T14:39:22+03:00», «dateModified»: «2017-04-12T14:39:22+03:00», «author»: { «@type»: «Person», «name»: «Kurtion» }, «publisher»: { «@type»: «Organization», «name»: «JoyReactor.cc», «logo»: { «@type»: «ImageObject», «url»: «http://joyreactor.cc/images/joyreactor_ie6.png», «width»: 207, «height»: 54 } }, «description»: «» }
Комментировать 
Пост №3064101
Source: Joyreactor

Пост №3064095

Автор: Chekavo

Наконец-то домучил.Процесс здесь: https://www.artstation.com/artwork/qR3ZPПриятного просмотраРазвернуть { «@context»: «http://schema.org», «@type»: «BlogPosting», «mainEntityOfPage»:{ «@type»:»WebPage», «@id»:»/post/3064095″ }, «headline»: «Наконец-то домучил. / Арт-клуб (арт-клуб, артклуб,) :: нарисовал сам :: Anomaly world :: сделал сам (нарисовал сам, сфоткал сам, написал сам, придумал сам, перевел сам) :: keyshot :: monster :: персонажи :: ZBrush :: разное :: красивые картинки :: видео (video)», «image»: { «@type»: «ImageObject», «url»: «http://img1.joyreactor.cc/pics/post/full/%D0%90%D1%80%D1%82-%D0%BA%D0%BB%D1%83%D0%B1-%D1%80%D0%B0%D0%B7%D0%BD%D0%BE%D0%B5-Anomaly-world-%D0%BD%D0%B0%D1%80%D0%B8%D1%81%D0%BE%D0%B2%D0%B0%D0%BB-%D1%81%D0%B0%D0%BC-3780135.jpeg», «height»: 90, «width»: 120 }, «datePublished»: «2017-04-12T14:30:34+03:00», «dateModified»: «2017-04-12T14:30:34+03:00», «author»: { «@type»: «Person», «name»: «Chekavo» }, «publisher»: { «@type»: «Organization», «name»: «JoyReactor.cc», «logo»: { «@type»: «ImageObject», «url»: «http://joyreactor.cc/images/joyreactor_ie6.png», «width»: 207, «height»: 54 } }, «description»: «Процесс здесь: https://www.artstation.com/artwork/qR3ZPПриятного просмотра» }
Комментировать 
Пост №3064095
Source: Joyreactor

Российский вечный диск выйдет на рынок в 2021 году

Российские учёные во главе с руководителем лаборатории лазерного наноструктурирования стекла Иваном Глебовым заявили о готовности выпустить в продажу коммерческие модели дисков из кварцевого стекла. Их […]
Российский вечный диск выйдет на рынок в 2021 году
Source: 4pda

Valve планирует переселить CS:GO на новый движок

В рамках недавней презентации в Китае компания
Valve поделилась планами касательно ближайшего
будущего шутера Counter-Strike: Global Offensive. Самая важная новость:
этим летом игра наконец перейдёт […]
Valve планирует переселить CS:GO на новый движок
Source: 4pda

НАСА опубликовало снимки полярного сияния на Уране


Полярное сияние


У полярного сияния есть несколько названий: Aurora Borealis, северное или южное сияние, просто аврора. Само это явление очень красивое, оно возникает в результате свечения верхних слоев атмосферы планеты вследствие взаимодействия с заряженными частицами солнечного ветра. Полярное сияние характерно не только для Земли, но и для Юпитера, Сатурна, а также, как недавно выяснилось, для Урана.


Об этом газовом гиганте пишут не так часто, поскольку внимание научного сообщества больше привлекают Юпитер и Сатурн. Эти планеты ближе к Земле, чем Уран, наблюдать за ними проще. Но в НАСА считают, что изучать необходимо все объекты Солнечной системы, вне зависимости от их удаленности от Земли. Поэтому ученые НАСА и ЕКА регулярно наблюдают за Ураном.
Читать дальше →
НАСА опубликовало снимки полярного сияния на Уране
Source: geektimes

Сервис Google AutoDraw превращает рисунки от руки в профессиональные клип-арты

Исследовательская лаборатория компании Google представила общественности новый экспериментальный сервис AutoDraw. С его помощью можно нарисовать скетч, а затем выбрать качественную альтернативу из […]
Сервис Google AutoDraw превращает рисунки от руки в профессиональные клип-арты
Source: 4pda