Задать вопрос
  • Как добавить кавычки только к первому элементу в списке?

    @abcd0x00
    Sly_tom_cat .:
    а чем вы сохраняли?

    Питоном через csv.write(), но можно и rfc вспомнить
    https://tools.ietf.org/html/rfc4180
    Одинарные кавычки роли никакой не играют, а двойные используются для экранирования (разделителей и самих себя).
  • Как добавить кавычки только к первому элементу в списке?

    @abcd0x00
    Bjornie:
    Может у вас есть мысли почему это случается?

    Что-то ты неправильно сохранил. С одинарными кавычками в начале и конце всё читается и делится нормально через csv.
  • Могу присвоить значение не существующему элементу массива и вывести его, в чем проблема?

    @abcd0x00
    DimaIs:
    я раньше писал на вижуал студио и там была проверка, выскакивала ошибка

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

    @abcd0x00
    Это обширная тема, там используются конечные автоматы, да не простые, а с магазинной памятью. За пять минут не выучишь.
  • Как пропустить весь поток для того, чтобы можно было воспользоваться getchar()?

    @abcd0x00
    Кто-то подсказывает такую штуку

    Ты советуешь что-то вредоносное. Ни первое, ни второе никогда не используется, если ты хоть что-то знаешь. С чего ты взял, что stdin можно перемотать? Он реализован через кольцевой буфер, у него нет начала.
  • Почему при выводе на экран через форматы %d и %u получаются числа -14 и 4294967282?

    @abcd0x00
    Максим:
    В char нельзя записать число больше 255

    char может быть знаковым (обычно он знаковый), а в знаковый нельзя писать больше 127. Вот в беззнаковый можно любое значение писать, потому что в беззнаковых не бывает переполнения, там просто отсекается лишнее.

    dmitry_dev33:
    там должна всё равно какая-то логика быть

    Логики там много, но она вся логичная. Так что начинай лучше с книги K&R2. Наугад не стоит это изучать, потому что там слишком много умных вещей и они все спрессованы воедино, чтобы язык был компактнее.
  • Как работает этот assembler code?

    @abcd0x00
    Vi:
    [temp+eax]
    Берётся адрес из temp, к этому адресу прибавляется число из eax (получается новый адрес, адрес как бы сдвигается) и потом полученный адрес разыменовывается и даётся доступ к ячейке памяти с этим адресом, а дальше туда уже пишется то, что там дальше во всей команде - число в edx.
  • Как найти и заменить второе вхождение?

    @abcd0x00
    Q Q: если по man sed его изучаешь, то ничего не поймёшь, потому что там всё только для напоминания. А в info sed, наоборот, всё объясняется и ещё примеры программ приводятся. И он небольшой, дня за три sed можно изучить полностью.
  • Как разбить число на элементы массива в с++?

    @abcd0x00
    AleexF: а зачем тогда делаешь варианты покороче, если варианты подлиннее уже решают поставленные задачи? Запутался?
  • Как найти и заменить второе вхождение?

    @abcd0x00
    Q Q:
    Как оно работает?

    Нужно просто понимать, что каждая строка засовывается в передний буфер, но при этом есть ещё и задний буфер. Буферы ничем друг от друга не отличаются. Когда строка в переднем буфере, над ней можно друг за другом выполнять любое количество команд. При этом есть такая команда, которая меняет местами сами буферы - задний делает передним, а передний делает задним (это делается путём переноса текста оттуда сюда и отсюда туда). Когда все команды над передним буфером выполнены, происходит выход из этой обработки и вывод строки из переднего буфера. А дальше в него опять считывается уже следующая строка входного потока и всё то же самое повторяется для неё. Вот и всё.
    Ты всегда можешь обменять буферы и для sed'а это будет выглядеть так, будто он текст в переднем буфере взял не из заднего буфера, а из потока ввода.
  • Как найти и заменить второе вхождение?

    @abcd0x00
    Q Q: на sed'е даже игры делают типа шахмат или сокобана, чтобы продемонстрировать его возможности.
    Мир sed'а
    sed.sourceforge.net

    А для того, чтобы узнать sed, можно просто прочитать info sed, оно полнее, чем просто man sed.

    Внутри sed можно делать условия?

    Да, его можно использовать как машину Тьюринга, просто в нём команды выглядят немного по-другому.

    Есть ли какой-то обработчик в bash (найти и заменить) не построчный, а по всему документу?

    Есть awk - довольно гибкий язык. Что не делается sed'ом, делается через него. Но можно и чистый bash использовать для всяких программ, просто он будет муторнее сделан. Обычно делается как - берётся bash, на нём пишутся функции, которые друг с другом общаются (передают данные), а внутри функций используются программы *nix-системы типа sed, grep и прочих. Тогда и получаются сложные программы, которые точно работают и проделывают сложные вещи, которые уже руками не сделать.
  • Bash скрипт поиска русских слов?

    @abcd0x00
    wasm:
    Вот пример замены
    import re
    
    text = """
    abc абв abc
    
    абв abc абв
    
    def где def
    
    где def где
    
    ghi ёжз ghi
    """
    
    out = re.sub(r'[а-яА-ЯёЁ]+', '$text', text)
    print(out)
    
    
    def tr(match):
        return '$' + str(len(match.group())) * 4
    
    out = re.sub(r'[а-яА-ЯёЁ]+', tr, text)
    print(out)


    Вывод
    >>> import re
    >>> 
    >>> text = """
    ... abc абв abc
    ... 
    ... абв abc абв
    ... 
    ... def где def
    ... 
    ... где def где
    ... 
    ... ghi ёжз ghi
    ... """
    >>> 
    >>> out = re.sub(r'[а-яА-ЯёЁ]+', '$text', text)
    >>> print(out)
    
    abc $text abc
    
    $text abc $text
    
    def $text def
    
    $text def $text
    
    ghi $text ghi
    
    >>> 
    >>> 
    >>> def tr(match):
    ...     return '$' + str(len(match.group())) * 4
    ... 
    >>> out = re.sub(r'[а-яА-ЯёЁ]+', tr, text)
    >>> print(out)
    
    abc $3333 abc
    
    $3333 abc $3333
    
    def $3333 def
    
    $3333 def $3333
    
    ghi $3333 ghi
    
    >>>
  • Bash скрипт поиска русских слов?

    @abcd0x00
    wasm: хочешь заменить русский текст, возьми питон, там регулярки легко работают с русским текстом. С Bash'ем затрахаешься. Короче, скрипт обработки одной страницы - на питоне, а запускать его из shell-скрипта.
  • Как найти и заменить второе вхождение?

    @abcd0x00
    Алексей Немиро: первый пример - точно такая же халтура, правда, ещё хуже. Там весь входной текст загружается в память sed'а, а память sed'а по POSIX'у гарантирует только 8 килобайт на каждый буфер и расчитана на временное помещение (под строку или небольшое её изменение).

    Так что тут не первый, и не второй вариант нужен, а накопление "разов" в буфере и сработка при втором разе. Знаешь принцип? Это ты добавляешь точку в буфер hold, если встретил первое вхождение. А на втором вхождении ты просто проверяешь, есть ли там одна точка.
  • Как разбить число на элементы массива в с++?

    @abcd0x00
    AleexF: кстати, в любом случае может возникнуть переполнение что с приведением, что без, потому что int нужно предполагать равным short int, а тот на текущих системах больше 32767 вмещать не может, так что твои 100001 его просто переполнят на каком-нибудь компиляторе, где int не равен long int, и там будет случайное число.
  • Как разбить число на элементы массива в с++?

    @abcd0x00
    AleexF:
    Это default code называется. Почитай про олимпиадное программирование, может поймёшь

    Это не default code, это ты не знаешь язык.

    Вот так это записывается
    const int N = 1e5+1;
    а приведение выполняется автоматом (неявное приведение типа это называется).

    Я занимаюсь спортивным программированием и считаю твои советы не уместными.

    Начинай заниматься уже чем-нибудь серьёзным. А в серьёзном очень важна читаемость кода, потому что разработка происходит обычно десятками разных человек, незнакомых друг с другом. Если ты включишься в серьёзную разработку, ты поймёшь, о чём я говорю, когда начнёшь разбираться в чужом коде (кода на мегабайт, а разбираться нужно быстро через отладчик, и тут какой-то дуралей всё в одну строку записал; ты в итоге будешь тратить время на обратное раскладывание за ним, либо не будешь понимать программу).
  • Можно ли на Python 3 написать оболочку для БД?

    @abcd0x00
    Можешь модули поискать для работы с MS Access
    https://pypi.python.org/pypi
  • Как выполнять только те скрипты в которых были изменения?

    @abcd0x00
    Игорь С:
    find отлавливает файлы у которых время изменения равно или больше чем указанное

    Там надо минус ставить перед временем. Прочитай man find.
  • Как перемещаться по коммитам git, чтобы не потерять их?

    @abcd0x00
    Как последовательно пробежаться по более ранним коммитам не теряя более поздних?

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