<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6521041833878214538</id><updated>2026-01-05T19:05:54.439+03:00</updated><category term="C"/><category term="Scheme"/><category term="ASCII art"/><category term="GNU Guile"/><category term="lisp"/><category term="строки"/><category term="generative art"/><category term="macros"/><category term="массивы"/><category term="указатели"/><category term="SSH"/><category term="elisp"/><category term="алгоритмы"/><category term="конечный автомат"/><category term="C++"/><category term="GNU Screen"/><category term="GOOPS"/><category term="Gentoo Linux"/><category term="MBR"/><category term="OOP"/><category term="QEMU"/><category term="Unix"/><category term="bash"/><category term="case analysis"/><category term="control characters"/><category term="dd(1)"/><category term="emacs"/><category term="file(1)"/><category term="ld"/><category term="pipeline"/><category term="preprocessor"/><category term="projects"/><category term="shell"/><category term="srand()"/><category term="ООП"/><category term="генерация случайных чисел"/><category term="динамическое связывание"/><category term="классы"/><category term="обычные грабли"/><category term="отладка"/><category term="разделяемая библиотека"/><category term="функции"/><title type='text'>memory pool</title><subtitle type='html'>записная книжка начинающего программиста</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://memory-pool.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6521041833878214538/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://memory-pool.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Артём</name><uri>http://www.blogger.com/profile/03941765279998802161</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHkec_AmYQ7SR0ZxkM6v1c_PkBcNa0NMIpl1pMOktt6Dl95pCzgft1FZVkcxxrdrIhuRqzZhgpoQkisypcqmZrVP3Ip16h04mozkWPlb0VreDBp0zH23lcEWYvYKJtliI/s1600/000_0856.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>25</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6521041833878214538.post-4308870359505570242</id><published>2015-01-10T23:50:00.000+03:00</published><updated>2015-01-10T23:50:13.775+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="case analysis"/><category scheme="http://www.blogger.com/atom/ns#" term="GNU Guile"/><category scheme="http://www.blogger.com/atom/ns#" term="lisp"/><category scheme="http://www.blogger.com/atom/ns#" term="macros"/><category scheme="http://www.blogger.com/atom/ns#" term="Scheme"/><title type='text'>Создание расширенной версии оператора case с помощью макросов Lisp</title><summary type="text">Доброго времени суток, случайные и не случайные читатели.

Сегодня хочу рассказать о модификации конструкции case
в Scheme для того,
чтобы она использовала переданный пользователем предикат для
сравнения.  Решение основано на макросах... но обо всём
по-порядку.

Описание работы case

Во-первых, как работает case ?  Несложно
догадаться, case является одной из управляющих
конструкций, которые </summary><link rel='replies' type='application/atom+xml' href='http://memory-pool.blogspot.com/feeds/4308870359505570242/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://memory-pool.blogspot.com/2015/01/case-lisp.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6521041833878214538/posts/default/4308870359505570242'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6521041833878214538/posts/default/4308870359505570242'/><link rel='alternate' type='text/html' href='http://memory-pool.blogspot.com/2015/01/case-lisp.html' title='Создание расширенной версии оператора case с помощью макросов Lisp'/><author><name>Артём</name><uri>http://www.blogger.com/profile/03941765279998802161</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHkec_AmYQ7SR0ZxkM6v1c_PkBcNa0NMIpl1pMOktt6Dl95pCzgft1FZVkcxxrdrIhuRqzZhgpoQkisypcqmZrVP3Ip16h04mozkWPlb0VreDBp0zH23lcEWYvYKJtliI/s1600/000_0856.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6521041833878214538.post-993490579874928542</id><published>2013-12-01T19:01:00.000+04:00</published><updated>2013-12-01T21:26:51.519+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="QEMU"/><title type='text'>Монтирование разделов с IMG-образов дисков, используемых QEMU</title><summary type="text">Доброго времени суток.

Заметка о том, как
монтировать разделы с &quot;сырых&quot;
образов дисков (англ. raw images), используемых, в том
числе, эмулятором QEMU.

Итак, дано: Образ Debian GNU/Hurd,
взятый отсюда.
Цель: подмонтировать корневой раздел с образа диска к файловой системе
рабочей ОС с помощью mount.

Положим, что мы уже находимся в каталоге с образом диска, а
монтировать собираемся первый раздел</summary><link rel='replies' type='application/atom+xml' href='http://memory-pool.blogspot.com/feeds/993490579874928542/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://memory-pool.blogspot.com/2013/12/img-qemu.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6521041833878214538/posts/default/993490579874928542'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6521041833878214538/posts/default/993490579874928542'/><link rel='alternate' type='text/html' href='http://memory-pool.blogspot.com/2013/12/img-qemu.html' title='Монтирование разделов с IMG-образов дисков, используемых QEMU'/><author><name>Артём</name><uri>http://www.blogger.com/profile/03941765279998802161</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHkec_AmYQ7SR0ZxkM6v1c_PkBcNa0NMIpl1pMOktt6Dl95pCzgft1FZVkcxxrdrIhuRqzZhgpoQkisypcqmZrVP3Ip16h04mozkWPlb0VreDBp0zH23lcEWYvYKJtliI/s1600/000_0856.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6521041833878214538.post-5081142389987895344</id><published>2013-06-10T23:56:00.000+04:00</published><updated>2013-06-11T00:02:48.959+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C"/><category scheme="http://www.blogger.com/atom/ns#" term="ld"/><category scheme="http://www.blogger.com/atom/ns#" term="Scheme"/><category scheme="http://www.blogger.com/atom/ns#" term="динамическое связывание"/><category scheme="http://www.blogger.com/atom/ns#" term="отладка"/><category scheme="http://www.blogger.com/atom/ns#" term="разделяемая библиотека"/><title type='text'>Отладка разделяемой библиотеки в детективном жанре</title><summary type="text">Одна из проблем при разрабоке -- сделать так, чтобы программа
собиралась и работала не только на машине у разработчика, но и на
машине конечного пользователя.  А ещё лучше -- чтобы всё работало без
присутствия разработчика рядом.

Собственно, о чём речь

При работе над Guile-SSH столкнулся с интересной проблемой -- на
Gentoo GNU/Linux (моей основной системе) библиотека работает без
нареканий, а </summary><link rel='replies' type='application/atom+xml' href='http://memory-pool.blogspot.com/feeds/5081142389987895344/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://memory-pool.blogspot.com/2013/06/blog-post.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6521041833878214538/posts/default/5081142389987895344'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6521041833878214538/posts/default/5081142389987895344'/><link rel='alternate' type='text/html' href='http://memory-pool.blogspot.com/2013/06/blog-post.html' title='Отладка разделяемой библиотеки в детективном жанре'/><author><name>Артём</name><uri>http://www.blogger.com/profile/03941765279998802161</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHkec_AmYQ7SR0ZxkM6v1c_PkBcNa0NMIpl1pMOktt6Dl95pCzgft1FZVkcxxrdrIhuRqzZhgpoQkisypcqmZrVP3Ip16h04mozkWPlb0VreDBp0zH23lcEWYvYKJtliI/s1600/000_0856.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6521041833878214538.post-5192669057838373696</id><published>2013-06-08T22:55:00.000+04:00</published><updated>2013-06-08T23:05:14.803+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C"/><category scheme="http://www.blogger.com/atom/ns#" term="GNU Guile"/><category scheme="http://www.blogger.com/atom/ns#" term="projects"/><category scheme="http://www.blogger.com/atom/ns#" term="Scheme"/><category scheme="http://www.blogger.com/atom/ns#" term="SSH"/><title type='text'>Guile-SSH</title><summary type="text">Доброго времени суток, случайные и не случайные читатели этого блога.

Занимаюсь сейчас разработкой
библиотеки Guile-SSH,
которая призвана обеспечить возможность работы с протоколом SSH из
программ, написанных на языке Scheme (с использованием интерпретатора
GNU Guile).

Презентация по проекту: odp pdf (CC-BY-SA 3.0)

Guile-SSH является обёрткой
над libssh и находится на
начальной стадии </summary><link rel='replies' type='application/atom+xml' href='http://memory-pool.blogspot.com/feeds/5192669057838373696/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://memory-pool.blogspot.com/2013/06/guile-ssh.html#comment-form' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6521041833878214538/posts/default/5192669057838373696'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6521041833878214538/posts/default/5192669057838373696'/><link rel='alternate' type='text/html' href='http://memory-pool.blogspot.com/2013/06/guile-ssh.html' title='Guile-SSH'/><author><name>Артём</name><uri>http://www.blogger.com/profile/03941765279998802161</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHkec_AmYQ7SR0ZxkM6v1c_PkBcNa0NMIpl1pMOktt6Dl95pCzgft1FZVkcxxrdrIhuRqzZhgpoQkisypcqmZrVP3Ip16h04mozkWPlb0VreDBp0zH23lcEWYvYKJtliI/s1600/000_0856.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6521041833878214538.post-5107089985621170741</id><published>2013-04-14T21:29:00.000+04:00</published><updated>2013-04-14T23:58:36.421+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="GNU Guile"/><category scheme="http://www.blogger.com/atom/ns#" term="GOOPS"/><category scheme="http://www.blogger.com/atom/ns#" term="lisp"/><category scheme="http://www.blogger.com/atom/ns#" term="macros"/><category scheme="http://www.blogger.com/atom/ns#" term="OOP"/><category scheme="http://www.blogger.com/atom/ns#" term="Scheme"/><title type='text'>Макрос define-method* для использования ключевых слов совместно с GOOPS</title><summary type="text">
Сегодня загрузил
в репозиторий LazyCat коммит, который добавляет макрос, расширяющий
стандартный набор функций GOOPS
для создания методов.  Макрос используется для реализации
метода host-list-add-host в классе &amp;lt;host-list&amp;gt;
и позволяет
использовать ключевые
слова (англ. keywords) для задания аргументов, передаваемых
в метод.  То есть, вместо создания методов с большим количеством
параметров,</summary><link rel='replies' type='application/atom+xml' href='http://memory-pool.blogspot.com/feeds/5107089985621170741/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://memory-pool.blogspot.com/2013/04/define-method-goops.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6521041833878214538/posts/default/5107089985621170741'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6521041833878214538/posts/default/5107089985621170741'/><link rel='alternate' type='text/html' href='http://memory-pool.blogspot.com/2013/04/define-method-goops.html' title='Макрос define-method* для использования ключевых слов совместно с GOOPS'/><author><name>Артём</name><uri>http://www.blogger.com/profile/03941765279998802161</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHkec_AmYQ7SR0ZxkM6v1c_PkBcNa0NMIpl1pMOktt6Dl95pCzgft1FZVkcxxrdrIhuRqzZhgpoQkisypcqmZrVP3Ip16h04mozkWPlb0VreDBp0zH23lcEWYvYKJtliI/s1600/000_0856.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6521041833878214538.post-1372916915640706933</id><published>2013-03-09T17:30:00.000+04:00</published><updated>2013-03-09T17:30:15.424+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="bash"/><category scheme="http://www.blogger.com/atom/ns#" term="GNU Screen"/><category scheme="http://www.blogger.com/atom/ns#" term="shell"/><title type='text'>Show bandwidth usage in GNU Screen status line</title><summary type="text">Написал простой скрипт для показа скорости загрузки/отдачи в статусной строке GNU Screen.  Данный скрипт основан на скрипте для tmux, однако я его основательно переписал, убрав вызов sleep, из-за которого Screen блокировался при обновлении статусной строки.



- Артём</summary><link rel='replies' type='application/atom+xml' href='http://memory-pool.blogspot.com/feeds/1372916915640706933/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://memory-pool.blogspot.com/2013/03/show-bandwidth-usage-in-gnu-screen.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6521041833878214538/posts/default/1372916915640706933'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6521041833878214538/posts/default/1372916915640706933'/><link rel='alternate' type='text/html' href='http://memory-pool.blogspot.com/2013/03/show-bandwidth-usage-in-gnu-screen.html' title='Show bandwidth usage in GNU Screen status line'/><author><name>Артём</name><uri>http://www.blogger.com/profile/03941765279998802161</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHkec_AmYQ7SR0ZxkM6v1c_PkBcNa0NMIpl1pMOktt6Dl95pCzgft1FZVkcxxrdrIhuRqzZhgpoQkisypcqmZrVP3Ip16h04mozkWPlb0VreDBp0zH23lcEWYvYKJtliI/s1600/000_0856.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6521041833878214538.post-4190856223768861197</id><published>2013-01-29T23:34:00.000+04:00</published><updated>2013-01-29T23:50:14.932+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C"/><category scheme="http://www.blogger.com/atom/ns#" term="строки"/><category scheme="http://www.blogger.com/atom/ns#" term="указатели"/><title type='text'>Переворот строки c помощью указателей</title><summary type="text">Сегодня вечером вспомнил одну старую задачу -- написать функцию
переворота строки только с использованием указателей.  Задача на
первый взгляд простая, и это действительно так -- если использовать
очевидный, простой и не особенно оригинальный подход.  Вопрос же в
следующем -- насколько компактно и необычно можно решить эту
задачу?  

Вот мой вариант ответа:


#include &amp;lt;stdio.h&amp;gt;

void </summary><link rel='replies' type='application/atom+xml' href='http://memory-pool.blogspot.com/feeds/4190856223768861197/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://memory-pool.blogspot.com/2013/01/blog-post.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6521041833878214538/posts/default/4190856223768861197'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6521041833878214538/posts/default/4190856223768861197'/><link rel='alternate' type='text/html' href='http://memory-pool.blogspot.com/2013/01/blog-post.html' title='Переворот строки c помощью указателей'/><author><name>Артём</name><uri>http://www.blogger.com/profile/03941765279998802161</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHkec_AmYQ7SR0ZxkM6v1c_PkBcNa0NMIpl1pMOktt6Dl95pCzgft1FZVkcxxrdrIhuRqzZhgpoQkisypcqmZrVP3Ip16h04mozkWPlb0VreDBp0zH23lcEWYvYKJtliI/s1600/000_0856.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6521041833878214538.post-3568858767566342788</id><published>2012-11-26T20:45:00.000+04:00</published><updated>2012-11-26T20:48:15.680+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C"/><category scheme="http://www.blogger.com/atom/ns#" term="macros"/><category scheme="http://www.blogger.com/atom/ns#" term="preprocessor"/><title type='text'>Препроцессор C</title><summary type="text">Доброго времени суток, случайные и не случайные читатели.

На прошлой неделе, изучая код ядра Linux, я наткнулся на
  довольно
  занятный заголовочный
  файл. В файле объявлено два макроса и одна
  inline-функция. Заинтересовало же меня следующее: название одного из
  макросов совпадает с именем функции, равно как и набор их
  параметров. Я подумал -- как будет работать этот код? И решил
  </summary><link rel='replies' type='application/atom+xml' href='http://memory-pool.blogspot.com/feeds/3568858767566342788/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://memory-pool.blogspot.com/2012/11/c.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6521041833878214538/posts/default/3568858767566342788'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6521041833878214538/posts/default/3568858767566342788'/><link rel='alternate' type='text/html' href='http://memory-pool.blogspot.com/2012/11/c.html' title='Препроцессор C'/><author><name>Артём</name><uri>http://www.blogger.com/profile/03941765279998802161</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHkec_AmYQ7SR0ZxkM6v1c_PkBcNa0NMIpl1pMOktt6Dl95pCzgft1FZVkcxxrdrIhuRqzZhgpoQkisypcqmZrVP3Ip16h04mozkWPlb0VreDBp0zH23lcEWYvYKJtliI/s1600/000_0856.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6521041833878214538.post-2250342367707930749</id><published>2012-10-28T20:07:00.000+04:00</published><updated>2012-10-28T20:07:09.195+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="GNU Guile"/><category scheme="http://www.blogger.com/atom/ns#" term="lisp"/><category scheme="http://www.blogger.com/atom/ns#" term="Scheme"/><title type='text'>Удаление элемента списка в Scheme</title><summary type="text">Доброго времени суток, случайные и неслучайные читатели этого
блога.

Сейчас довольно много пишу
на Scheme,
в связи с работой над
проектом LazyCat. В
проекте используется Scheme для GUI и для высокоуровневой
логики. Подробнее о проекте на русском языке можно
узнать здесь. В
данной же заметке я хочу рассказать о проблеме удаления элемента из
списка.

Если вы сталкивались с Lisp&#39;ом в жизни (</summary><link rel='replies' type='application/atom+xml' href='http://memory-pool.blogspot.com/feeds/2250342367707930749/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://memory-pool.blogspot.com/2012/10/scheme.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6521041833878214538/posts/default/2250342367707930749'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6521041833878214538/posts/default/2250342367707930749'/><link rel='alternate' type='text/html' href='http://memory-pool.blogspot.com/2012/10/scheme.html' title='Удаление элемента списка в Scheme'/><author><name>Артём</name><uri>http://www.blogger.com/profile/03941765279998802161</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHkec_AmYQ7SR0ZxkM6v1c_PkBcNa0NMIpl1pMOktt6Dl95pCzgft1FZVkcxxrdrIhuRqzZhgpoQkisypcqmZrVP3Ip16h04mozkWPlb0VreDBp0zH23lcEWYvYKJtliI/s1600/000_0856.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6521041833878214538.post-5489677372709300198</id><published>2012-05-07T22:58:00.000+04:00</published><updated>2012-05-07T22:58:02.042+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="dd(1)"/><category scheme="http://www.blogger.com/atom/ns#" term="file(1)"/><category scheme="http://www.blogger.com/atom/ns#" term="MBR"/><title type='text'>Получение информации о MBR и таблице разделов с помощью file(1)</title><summary type="text">Только что узнал о таком интересном умении Unix-утилиты file(1), как вывод информации из главной загрузочной записи (англ. Master Boot Record, или, по-простому, MBR).

Для примера сохраним MBR с устройства /dev/sda в файл. Для этого нам нужно скопировать первые 512 байт с жёсткого диска, то есть, один блок по 512 байт. Хочу предупредить, что утилита dd(1) славится своей способностью портить </summary><link rel='replies' type='application/atom+xml' href='http://memory-pool.blogspot.com/feeds/5489677372709300198/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://memory-pool.blogspot.com/2012/05/mbr-file1.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6521041833878214538/posts/default/5489677372709300198'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6521041833878214538/posts/default/5489677372709300198'/><link rel='alternate' type='text/html' href='http://memory-pool.blogspot.com/2012/05/mbr-file1.html' title='Получение информации о MBR и таблице разделов с помощью file(1)'/><author><name>Артём</name><uri>http://www.blogger.com/profile/03941765279998802161</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHkec_AmYQ7SR0ZxkM6v1c_PkBcNa0NMIpl1pMOktt6Dl95pCzgft1FZVkcxxrdrIhuRqzZhgpoQkisypcqmZrVP3Ip16h04mozkWPlb0VreDBp0zH23lcEWYvYKJtliI/s1600/000_0856.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6521041833878214538.post-7455014557585283553</id><published>2012-02-02T23:35:00.002+04:00</published><updated>2012-06-24T22:53:34.911+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C"/><title type='text'>Нестандартное применение функции getopt(3)</title><summary type="text">Доброго времени суток, случайные и неслучайные читатели этого
  блога. Сегодня я хочу рассказать об одном любопытном способе применения
  функции getopt(3).

Как вы наверняка знаете, getopt(3) позволяет легко
  разбирать (или &quot;парсить&quot;, да простит меня русский язык) опции
  командной строки, переданные программе.

Вместо термина &quot;опция&quot; так же используются термины &quot;флаг&quot; или &quot;ключ&quot;.

  Вот </summary><link rel='replies' type='application/atom+xml' href='http://memory-pool.blogspot.com/feeds/7455014557585283553/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://memory-pool.blogspot.com/2012/02/getopt3.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6521041833878214538/posts/default/7455014557585283553'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6521041833878214538/posts/default/7455014557585283553'/><link rel='alternate' type='text/html' href='http://memory-pool.blogspot.com/2012/02/getopt3.html' title='Нестандартное применение функции getopt(3)'/><author><name>Артём</name><uri>http://www.blogger.com/profile/03941765279998802161</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHkec_AmYQ7SR0ZxkM6v1c_PkBcNa0NMIpl1pMOktt6Dl95pCzgft1FZVkcxxrdrIhuRqzZhgpoQkisypcqmZrVP3Ip16h04mozkWPlb0VreDBp0zH23lcEWYvYKJtliI/s1600/000_0856.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6521041833878214538.post-8190604627448440865</id><published>2012-01-02T11:47:00.000+04:00</published><updated>2012-01-02T11:50:03.865+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C"/><category scheme="http://www.blogger.com/atom/ns#" term="pipeline"/><category scheme="http://www.blogger.com/atom/ns#" term="Unix"/><title type='text'>Конвейерная обработка данных в Unix</title><summary type="text">Доброго времени суток, случайные и не случайные читатели этого блога.

Сегодня я хотел бы рассмотреть пример программы, которая может
работать в режиме &quot;конвейера&quot; (pipeline), что является обыденным делом
для утилит Unix-подобных систем.

Благодаря механизму конвейерной обработки данных можно строить сложные
комплексы из доступных (и достаточно простых) утилит, предоставляемых
системой.

Наша </summary><link rel='replies' type='application/atom+xml' href='http://memory-pool.blogspot.com/feeds/8190604627448440865/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://memory-pool.blogspot.com/2012/01/unix.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6521041833878214538/posts/default/8190604627448440865'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6521041833878214538/posts/default/8190604627448440865'/><link rel='alternate' type='text/html' href='http://memory-pool.blogspot.com/2012/01/unix.html' title='Конвейерная обработка данных в Unix'/><author><name>Артём</name><uri>http://www.blogger.com/profile/03941765279998802161</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHkec_AmYQ7SR0ZxkM6v1c_PkBcNa0NMIpl1pMOktt6Dl95pCzgft1FZVkcxxrdrIhuRqzZhgpoQkisypcqmZrVP3Ip16h04mozkWPlb0VreDBp0zH23lcEWYvYKJtliI/s1600/000_0856.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6521041833878214538.post-6060398508978716789</id><published>2012-01-01T13:33:00.001+04:00</published><updated>2012-01-01T13:33:40.324+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ASCII art"/><category scheme="http://www.blogger.com/atom/ns#" term="elisp"/><title type='text'>Новогодняя ёлка на Emacs Lisp</title><summary type="text">Доброго времени суток, случайные и не случайные читатели.

Пользуясь случаем, поздравляю вас с уже наступившим Новым Годом. Дабы немного поднять вам (и себе) новогоднее настроение, публикую исходный код программы на Emacs Lisp, которая рисует замечательную новогоднюю ACSII-ёлку.


;;;
;;; Copyright (C) 2011 Artyom Poptsov
;;;
;;; This program is free software; you can redistribute it and/or </summary><link rel='replies' type='application/atom+xml' href='http://memory-pool.blogspot.com/feeds/6060398508978716789/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://memory-pool.blogspot.com/2012/01/emacs-lisp.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6521041833878214538/posts/default/6060398508978716789'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6521041833878214538/posts/default/6060398508978716789'/><link rel='alternate' type='text/html' href='http://memory-pool.blogspot.com/2012/01/emacs-lisp.html' title='Новогодняя ёлка на Emacs Lisp'/><author><name>Артём</name><uri>http://www.blogger.com/profile/03941765279998802161</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHkec_AmYQ7SR0ZxkM6v1c_PkBcNa0NMIpl1pMOktt6Dl95pCzgft1FZVkcxxrdrIhuRqzZhgpoQkisypcqmZrVP3Ip16h04mozkWPlb0VreDBp0zH23lcEWYvYKJtliI/s1600/000_0856.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6521041833878214538.post-3701923480498059774</id><published>2011-11-12T12:35:00.001+04:00</published><updated>2011-11-12T13:56:39.151+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Gentoo Linux"/><category scheme="http://www.blogger.com/atom/ns#" term="SSH"/><category scheme="http://www.blogger.com/atom/ns#" term="обычные грабли"/><title type='text'>Цена невнимательности, или как я подложил себе интересные грабли при настройке SSH</title><summary type="text">Доброго времени суток, случайные и неслучайные читатели.

Не так давно, а именно около месяца назад, появилась у меня идея - настроить аутентификацию по публичному ключу на домашний компьютер через SSH. Это более безопастно и более удобно, чем авторизация по паролям. Я не буду здесь объяснять, как настроить аутентификацию по публичным ключам, так как в интернете есть тьма-тьмущая всяких how-to по</summary><link rel='replies' type='application/atom+xml' href='http://memory-pool.blogspot.com/feeds/3701923480498059774/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://memory-pool.blogspot.com/2011/11/ssh.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6521041833878214538/posts/default/3701923480498059774'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6521041833878214538/posts/default/3701923480498059774'/><link rel='alternate' type='text/html' href='http://memory-pool.blogspot.com/2011/11/ssh.html' title='Цена невнимательности, или как я подложил себе интересные грабли при настройке SSH'/><author><name>Артём</name><uri>http://www.blogger.com/profile/03941765279998802161</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHkec_AmYQ7SR0ZxkM6v1c_PkBcNa0NMIpl1pMOktt6Dl95pCzgft1FZVkcxxrdrIhuRqzZhgpoQkisypcqmZrVP3Ip16h04mozkWPlb0VreDBp0zH23lcEWYvYKJtliI/s1600/000_0856.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6521041833878214538.post-8578965805641823366</id><published>2011-08-25T23:27:00.000+04:00</published><updated>2011-08-25T23:27:44.674+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="elisp"/><category scheme="http://www.blogger.com/atom/ns#" term="emacs"/><category scheme="http://www.blogger.com/atom/ns#" term="lisp"/><title type='text'>scroller.el - простое дополнение для GNU Emacs</title><summary type="text">Решил добавить в Emacs функцию, которую не нашёл во всём многообразии keybinding&#39;ов (может, я просто плохо искал?)

Итак, это две очень простые функции, прокручивающие текущий буфер на одну строку (вверх или вниз, соответственно), без изменение позиции курсора. Это иногда бывает очень полезно.


;;; These simple functions allows scrolling with keeping
;;; position of cursor

(defun </summary><link rel='replies' type='application/atom+xml' href='http://memory-pool.blogspot.com/feeds/8578965805641823366/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://memory-pool.blogspot.com/2011/08/scrollerel-gnu-emacs.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6521041833878214538/posts/default/8578965805641823366'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6521041833878214538/posts/default/8578965805641823366'/><link rel='alternate' type='text/html' href='http://memory-pool.blogspot.com/2011/08/scrollerel-gnu-emacs.html' title='scroller.el - простое дополнение для GNU Emacs'/><author><name>Артём</name><uri>http://www.blogger.com/profile/03941765279998802161</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHkec_AmYQ7SR0ZxkM6v1c_PkBcNa0NMIpl1pMOktt6Dl95pCzgft1FZVkcxxrdrIhuRqzZhgpoQkisypcqmZrVP3Ip16h04mozkWPlb0VreDBp0zH23lcEWYvYKJtliI/s1600/000_0856.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6521041833878214538.post-6196999474149264402</id><published>2011-04-22T21:43:00.003+04:00</published><updated>2011-04-23T09:12:17.947+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C++"/><category scheme="http://www.blogger.com/atom/ns#" term="ООП"/><category scheme="http://www.blogger.com/atom/ns#" term="классы"/><title type='text'>Проект &quot;Амёба&quot;</title><summary type="text">Доброго времени суток, случайные и неслучайные читатели. Сегодня я хочу рассказать о любопытном эксперименте, который провёл в процессе изучения C++.СодержаниеПостановка задачи
&amp;laquo;Царство Протозоа, класс Лобозные амёбы, отряд...&amp;raquo;
Реализация методов

Конструкторы и деструкторы
Метод divide()

Разделять и властвовать


Постановка задачи
В один прекрасный день на курсах мы начали изучать </summary><link rel='replies' type='application/atom+xml' href='http://memory-pool.blogspot.com/feeds/6196999474149264402/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://memory-pool.blogspot.com/2011/04/blog-post.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6521041833878214538/posts/default/6196999474149264402'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6521041833878214538/posts/default/6196999474149264402'/><link rel='alternate' type='text/html' href='http://memory-pool.blogspot.com/2011/04/blog-post.html' title='Проект &quot;Амёба&quot;'/><author><name>Артём</name><uri>http://www.blogger.com/profile/03941765279998802161</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHkec_AmYQ7SR0ZxkM6v1c_PkBcNa0NMIpl1pMOktt6Dl95pCzgft1FZVkcxxrdrIhuRqzZhgpoQkisypcqmZrVP3Ip16h04mozkWPlb0VreDBp0zH23lcEWYvYKJtliI/s1600/000_0856.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6521041833878214538.post-5485607684738637245</id><published>2011-03-15T20:40:00.004+03:00</published><updated>2011-03-26T13:08:59.436+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ASCII art"/><category scheme="http://www.blogger.com/atom/ns#" term="C"/><category scheme="http://www.blogger.com/atom/ns#" term="control characters"/><category scheme="http://www.blogger.com/atom/ns#" term="generative art"/><title type='text'>Рисуем новогоднюю ёлку с помощью Си: алгоритм номер 2.</title><summary type="text">После довольно длительного перерыва, продолжаю цикл постов, в которых рассказываю о нестандартном приложении знаний по программированию. В данном случае, я рисую в консоли ель.

В предыдущих постах я:
* Рассказал о том, как как нарисовать равнобедренный треугольник в консоли с помощью звёздочек, и описал проблему создания рисунка, похожего на ель.
* Рассмотрел простой алгоритм отрисовки ёлки, </summary><link rel='replies' type='application/atom+xml' href='http://memory-pool.blogspot.com/feeds/5485607684738637245/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://memory-pool.blogspot.com/2011/03/2.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6521041833878214538/posts/default/5485607684738637245'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6521041833878214538/posts/default/5485607684738637245'/><link rel='alternate' type='text/html' href='http://memory-pool.blogspot.com/2011/03/2.html' title='Рисуем новогоднюю ёлку с помощью Си: алгоритм номер 2.'/><author><name>Артём</name><uri>http://www.blogger.com/profile/03941765279998802161</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHkec_AmYQ7SR0ZxkM6v1c_PkBcNa0NMIpl1pMOktt6Dl95pCzgft1FZVkcxxrdrIhuRqzZhgpoQkisypcqmZrVP3Ip16h04mozkWPlb0VreDBp0zH23lcEWYvYKJtliI/s1600/000_0856.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCvllFI0Qw7O8PBVehV_Q-S8-1fwuuAKRoeLdFEbSye8Sh5PGjMetN8nqg6noG8Of3MkElsZYOwZDritDPnGtTPfxd5wzUTs3SxOixH-uby7EfoHDQYsmPccIAk9In_49XwVPkk7sAGOwD/s72-c/christmas-tree.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6521041833878214538.post-1627148300715419620</id><published>2011-02-12T20:44:00.002+03:00</published><updated>2011-02-12T22:57:42.625+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ASCII art"/><category scheme="http://www.blogger.com/atom/ns#" term="C"/><category scheme="http://www.blogger.com/atom/ns#" term="generative art"/><category scheme="http://www.blogger.com/atom/ns#" term="алгоритмы"/><title type='text'>Рисуем новогоднюю ёлку с помощью Си: алгоритм номер 1.</title><summary type="text">В предыдущем посте я рассказал о задаче, которая меня вдохновила на выращивание хвойных в консоли. Так же был рассмотрен способ отрисовки равнобедренного треугольника.

Теперь пришло время нарисовать первое подобие ёлки. 

Постановка задачи
Должно получиться следующее:


   _
  |      X &lt;-------- звезда
  |      *
  |     ***
  |     ***
 10    *****
  |    ***** &lt;------ ёлка
  |   ******* 
  |</summary><link rel='replies' type='application/atom+xml' href='http://memory-pool.blogspot.com/feeds/1627148300715419620/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://memory-pool.blogspot.com/2011/02/1.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6521041833878214538/posts/default/1627148300715419620'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6521041833878214538/posts/default/1627148300715419620'/><link rel='alternate' type='text/html' href='http://memory-pool.blogspot.com/2011/02/1.html' title='Рисуем новогоднюю ёлку с помощью Си: алгоритм номер 1.'/><author><name>Артём</name><uri>http://www.blogger.com/profile/03941765279998802161</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHkec_AmYQ7SR0ZxkM6v1c_PkBcNa0NMIpl1pMOktt6Dl95pCzgft1FZVkcxxrdrIhuRqzZhgpoQkisypcqmZrVP3Ip16h04mozkWPlb0VreDBp0zH23lcEWYvYKJtliI/s1600/000_0856.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6521041833878214538.post-2838033306889059272</id><published>2011-01-29T21:26:00.004+03:00</published><updated>2011-01-31T10:33:23.153+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ASCII art"/><category scheme="http://www.blogger.com/atom/ns#" term="C"/><category scheme="http://www.blogger.com/atom/ns#" term="generative art"/><category scheme="http://www.blogger.com/atom/ns#" term="алгоритмы"/><title type='text'>Рисуем новогоднюю ёлку с помощью Си: алгоритм номер 0.</title><summary type="text">Некоторые даже в предпраздничные дни забивают себе голову алгоритмами, программированием и прочими непраздничными вещами.

Вот и я перед новым годом (который, кстати, уже наступил - если что) придумал себе проблему, и упорно решал её на протяжении длительного времени. 

С чего всё началось
А началось всё со следующей задачи.

По условию задачи пользователь вводит число строк, а программа должна </summary><link rel='replies' type='application/atom+xml' href='http://memory-pool.blogspot.com/feeds/2838033306889059272/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://memory-pool.blogspot.com/2011/01/0.html#comment-form' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6521041833878214538/posts/default/2838033306889059272'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6521041833878214538/posts/default/2838033306889059272'/><link rel='alternate' type='text/html' href='http://memory-pool.blogspot.com/2011/01/0.html' title='Рисуем новогоднюю ёлку с помощью Си: алгоритм номер 0.'/><author><name>Артём</name><uri>http://www.blogger.com/profile/03941765279998802161</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHkec_AmYQ7SR0ZxkM6v1c_PkBcNa0NMIpl1pMOktt6Dl95pCzgft1FZVkcxxrdrIhuRqzZhgpoQkisypcqmZrVP3Ip16h04mozkWPlb0VreDBp0zH23lcEWYvYKJtliI/s1600/000_0856.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2dK2hcwz2sb1s_FZVUgtxFQSKycN9BYDjRpnNpUctsxcsDZIGbIN5Eh9UNiTyaOKOddyR_5EM7xZEZSinTGQohdnUNPW6Tj5kqmA7i9guj3rxqXA7RAAMuwd1WWAUXrM68cn-YLy4BaIw/s72-c/100_6434.JPG" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6521041833878214538.post-455753299713682491</id><published>2011-01-20T19:03:00.006+03:00</published><updated>2011-01-29T21:37:33.736+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C"/><category scheme="http://www.blogger.com/atom/ns#" term="строки"/><category scheme="http://www.blogger.com/atom/ns#" term="указатели"/><category scheme="http://www.blogger.com/atom/ns#" term="функции"/><title type='text'>Нахождение последовательностей одинаковых символов в строке с помощью указателей</title><summary type="text">Понадобилось мне для одной программы найти в строке все последовательности одинаковых символов, и провести с ними необходимые операции (допустим, посчитать и вывести на экран - сейчас это не важно).
Я хочу написать функцию, которой можно было бы скормить передать строку, адрес массива указателей - и получить заполненный массив указателей, каждый элемент которого указывал бы на начало каждой </summary><link rel='replies' type='application/atom+xml' href='http://memory-pool.blogspot.com/feeds/455753299713682491/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://memory-pool.blogspot.com/2011/01/blog-post_20.html#comment-form' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6521041833878214538/posts/default/455753299713682491'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6521041833878214538/posts/default/455753299713682491'/><link rel='alternate' type='text/html' href='http://memory-pool.blogspot.com/2011/01/blog-post_20.html' title='Нахождение последовательностей одинаковых символов в строке с помощью указателей'/><author><name>Артём</name><uri>http://www.blogger.com/profile/03941765279998802161</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHkec_AmYQ7SR0ZxkM6v1c_PkBcNa0NMIpl1pMOktt6Dl95pCzgft1FZVkcxxrdrIhuRqzZhgpoQkisypcqmZrVP3Ip16h04mozkWPlb0VreDBp0zH23lcEWYvYKJtliI/s1600/000_0856.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6521041833878214538.post-273325997988231258</id><published>2011-01-17T07:05:00.007+03:00</published><updated>2011-03-16T13:34:47.196+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C"/><category scheme="http://www.blogger.com/atom/ns#" term="конечный автомат"/><category scheme="http://www.blogger.com/atom/ns#" term="массивы"/><category scheme="http://www.blogger.com/atom/ns#" term="строки"/><title type='text'>Замечания по задаче удаления из строки лишних пробелов</title><summary type="text">Для решения задачи удаления из строки лишних пробелов я использовал конечный автомат в бесконечном цикле.  

Я получил от Антона Александровича (преподавателя из НИИТа) несколько замечаний по решению этой задачи:


1. Бесконечный цикл while(1) можно заменить на цикл while(charray [i]).

Известно, что строка (в отличии от массива символов) всегда заканчивается нулевым символом, он же &#39;\0&#39;. Так же </summary><link rel='replies' type='application/atom+xml' href='http://memory-pool.blogspot.com/feeds/273325997988231258/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://memory-pool.blogspot.com/2011/01/blog-post_17.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6521041833878214538/posts/default/273325997988231258'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6521041833878214538/posts/default/273325997988231258'/><link rel='alternate' type='text/html' href='http://memory-pool.blogspot.com/2011/01/blog-post_17.html' title='Замечания по задаче удаления из строки лишних пробелов'/><author><name>Артём</name><uri>http://www.blogger.com/profile/03941765279998802161</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHkec_AmYQ7SR0ZxkM6v1c_PkBcNa0NMIpl1pMOktt6Dl95pCzgft1FZVkcxxrdrIhuRqzZhgpoQkisypcqmZrVP3Ip16h04mozkWPlb0VreDBp0zH23lcEWYvYKJtliI/s1600/000_0856.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6521041833878214538.post-5131059291220988031</id><published>2011-01-10T23:18:00.002+03:00</published><updated>2011-01-10T23:27:40.841+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C"/><category scheme="http://www.blogger.com/atom/ns#" term="srand()"/><category scheme="http://www.blogger.com/atom/ns#" term="генерация случайных чисел"/><category scheme="http://www.blogger.com/atom/ns#" term="массивы"/><title type='text'>Заполнение массива равным количеством случайных положительных и отрицательных чисел</title><summary type="text">В процессе решения одной из задач столкнулся с интересной проблемой. Как заполнить массив размером N случайными положительными и отрицательными числами так, чтобы количество отрицательных чисел в массиве было равно количеству положительных? И не подряд (например, сначала отрицательные числа, потом - положительные), а, цитируя знаменитое произведение Льюиса Кэрролла в переводе Бориса Заходера, &quot;</summary><link rel='replies' type='application/atom+xml' href='http://memory-pool.blogspot.com/feeds/5131059291220988031/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://memory-pool.blogspot.com/2011/01/blog-post_10.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6521041833878214538/posts/default/5131059291220988031'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6521041833878214538/posts/default/5131059291220988031'/><link rel='alternate' type='text/html' href='http://memory-pool.blogspot.com/2011/01/blog-post_10.html' title='Заполнение массива равным количеством случайных положительных и отрицательных чисел'/><author><name>Артём</name><uri>http://www.blogger.com/profile/03941765279998802161</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHkec_AmYQ7SR0ZxkM6v1c_PkBcNa0NMIpl1pMOktt6Dl95pCzgft1FZVkcxxrdrIhuRqzZhgpoQkisypcqmZrVP3Ip16h04mozkWPlb0VreDBp0zH23lcEWYvYKJtliI/s1600/000_0856.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6521041833878214538.post-5291181311221603177</id><published>2011-01-08T22:08:00.000+03:00</published><updated>2011-01-08T22:08:34.652+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C"/><category scheme="http://www.blogger.com/atom/ns#" term="конечный автомат"/><category scheme="http://www.blogger.com/atom/ns#" term="массивы"/><category scheme="http://www.blogger.com/atom/ns#" term="строки"/><category scheme="http://www.blogger.com/atom/ns#" term="указатели"/><title type='text'>Удаление из строки &quot;лишних&quot; пробелов</title><summary type="text">У меня есть программа, которая должна запросить у пользователя строку, и произвести с полученной строкой определённые действия. Но вот ведь незадача - некоторые очень неаккуратно работают с клавиатурой, и при вводе данных могут случайно нажать пробел несколько раз вместо одного, добавить совершенно ненужных пробелов в начале строки, или даже в конце. А представьте, что будет, если по клавиатуре </summary><link rel='replies' type='application/atom+xml' href='http://memory-pool.blogspot.com/feeds/5291181311221603177/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://memory-pool.blogspot.com/2011/01/blog-post_08.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6521041833878214538/posts/default/5291181311221603177'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6521041833878214538/posts/default/5291181311221603177'/><link rel='alternate' type='text/html' href='http://memory-pool.blogspot.com/2011/01/blog-post_08.html' title='Удаление из строки &quot;лишних&quot; пробелов'/><author><name>Артём</name><uri>http://www.blogger.com/profile/03941765279998802161</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHkec_AmYQ7SR0ZxkM6v1c_PkBcNa0NMIpl1pMOktt6Dl95pCzgft1FZVkcxxrdrIhuRqzZhgpoQkisypcqmZrVP3Ip16h04mozkWPlb0VreDBp0zH23lcEWYvYKJtliI/s1600/000_0856.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6521041833878214538.post-2802073084964114312</id><published>2011-01-07T17:29:00.001+03:00</published><updated>2011-01-07T17:32:27.250+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C"/><title type='text'>Вывод приветствия в зависимости от времени, введённого пользователем</title><summary type="text">Задача заключается в том, чтобы запросить у пользователя время в формате ЧЧ:ММ:СС и вывести приветствие на английском языке - &quot;Good morning!&quot;, &quot;Good evening!&quot; etc.

Задача достаточно простая, для ввода данных используется функция scanf(), которая принимает время в заданном формате. Далее мы должны проверить часы (ЧЧ) на принадлежность определённому времени суток.
Основная идея заключается в том, </summary><link rel='replies' type='application/atom+xml' href='http://memory-pool.blogspot.com/feeds/2802073084964114312/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://memory-pool.blogspot.com/2011/01/blog-post_07.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6521041833878214538/posts/default/2802073084964114312'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6521041833878214538/posts/default/2802073084964114312'/><link rel='alternate' type='text/html' href='http://memory-pool.blogspot.com/2011/01/blog-post_07.html' title='Вывод приветствия в зависимости от времени, введённого пользователем'/><author><name>Артём</name><uri>http://www.blogger.com/profile/03941765279998802161</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHkec_AmYQ7SR0ZxkM6v1c_PkBcNa0NMIpl1pMOktt6Dl95pCzgft1FZVkcxxrdrIhuRqzZhgpoQkisypcqmZrVP3Ip16h04mozkWPlb0VreDBp0zH23lcEWYvYKJtliI/s1600/000_0856.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6521041833878214538.post-3215799697780700590</id><published>2011-01-07T12:33:00.001+03:00</published><updated>2011-01-09T14:54:15.268+03:00</updated><title type='text'>Об этом блоге</title><summary type="text">Этот блог был создан для того, чтобы собрать в одном месте различные задачи по программированию, которые показались автору интересными, и их решения (возможно - оригинальные, возможно - не очень).</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6521041833878214538/posts/default/3215799697780700590'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6521041833878214538/posts/default/3215799697780700590'/><link rel='alternate' type='text/html' href='http://memory-pool.blogspot.com/2011/01/blog-post.html' title='Об этом блоге'/><author><name>Артём</name><uri>http://www.blogger.com/profile/03941765279998802161</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHkec_AmYQ7SR0ZxkM6v1c_PkBcNa0NMIpl1pMOktt6Dl95pCzgft1FZVkcxxrdrIhuRqzZhgpoQkisypcqmZrVP3Ip16h04mozkWPlb0VreDBp0zH23lcEWYvYKJtliI/s1600/000_0856.jpg'/></author></entry></feed>