Главная · Поиск книг · Поступления книг · Top 40 · Форумы · Ссылки · Читатели

Настройка текста
Перенос строк


    Прохождения игр    
Aliens Vs Predator |#10| Human company final
Aliens Vs Predator |#9| Unidentified xenomorph
Aliens Vs Predator |#8| Tequila Rescue
Aliens Vs Predator |#7| Fighting vs Predator

Другие игры...


liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня
Rambler's Top100
Образование - Богатырев А. Весь текст 1009.15 Kb

Хрестоматия по программированию на Си в Unix

Предыдущая страница Следующая страница
1 ... 68 69 70 71 72 73 74  75 76 77 78 79 80 81 ... 87
        Потом других учить пришел и нам черед.
        Какие ж выводы из этой всей науки?
        Из праха мы пришли, нас ветер унесет.
                                Омар Хайям

                                     Оглавление.

0. Напутствие в качестве вступления.  ..........................................    1
1. Простые программы и алгоритмы. Сюрпризы, советы.  ...........................    3
2. Массивы, строки, указатели.  ................................................   81
3. Мобильность и машинная зависимость программ. Проблемы с русскими  буквами.
     ...........................................................................  122
4. Работа с файлами.  ..........................................................  137
5. Структуры данных.  ..........................................................  172
6. Системные вызовы и взаимодействие с UNIX.  ..................................  186
6.1. Файлы и каталоги.  ........................................................  189
6.2. Время в UNIX.  ............................................................  198
6.3. Свободное место на диске.  ................................................  207
6.4. Сигналы.  .................................................................  212
6.5. Жизнь процессов.  .........................................................  219
6.6. Трубы и FIFO-файлы.  ......................................................  230
6.7. Нелокальный переход.  .....................................................  233
6.8. Хозяин файла, процесса, и проверка привелегий.  ...........................  235
6.9. Блокировка доступа к файлам.  .............................................  240
6.10. Файлы устройств.  ........................................................  244
6.11. Мультиплексирование ввода-вывода .........................................  259
6.12. Простой интерпретатор команд.  ...........................................  271
7. Текстовая обработка.  .......................................................  283
8. Экранные библиотеки и работа с видеопамятью.  ...............................  348
9. Приложения.  ................................................................  391
9.1. Таблица приоритетов операций языка C++ ....................................  391
9.2. Правила преобразований типов.  ............................................  391
9.3. Таблица шестнадцатеричных чисел (HEX).  ...................................  392
9.4. Таблица степеней двойки.  .................................................  393
9.5. Двоичный код: внутреннее представление целых чисел.  ......................  393
10. Примеры.  ..................................................................  394
Пример 1.  Размен монет.  ......................................................
Пример 2.  Подсчет букв в файле.  ..............................................
Пример 3.  Центрирование строк.  ...............................................
Пример 4.  Разметка текста для nroff.  .........................................
Пример 5.  Инвертирование порядка слов в строках.  .............................
Пример 6.  Пузырьковая сортировка.  ............................................
Пример 7.  Хэш-таблица.  .......................................................
Пример 8.  Простая база данных.  ...............................................
Пример 9.  Вставка/удаление строк в файл.  .....................................
Пример 10.  Безопасный free, позволяющий обращения к автоматическим  перемен-
     ным.  .....................................................................
Пример 11.  Поимка ошибок при работе с динамической памятью.  ..................
Пример 12.  Копирование/перемещение файла.  ....................................
Пример 13.  Обход поддерева каталогов в MS DOS при помощи chdir.  ..............
Пример 14.  Работа с сигналами.  ...............................................
Пример 15.  Управление скоростью обмена через линию.  ..........................
Пример 16.  Просмотр файлов в окнах.  ..........................................
Пример 17.  Работа с иерархией окон в curses. Часть проекта uxcom.  ............
Пример 18.  Поддержка содержимого каталога. Часть проекта uxcom.  ..............
Пример 19.  Роллируемое меню. Часть проекта uxcom.  ............................
Пример 20.  Выбор в строке-меню. Часть проекта uxcom.  .........................
Пример 21.  Редактор строки. Часть проекта uxcom.  .............................
Пример 22.  Выбор в прямоугольной таблице. Часть проекта uxcom.  ...............
Пример 23.  UNIX commander - простой визуальный Шелл. Головной модуль проекта
     uxcom.  ...................................................................
Пример 24.  Общение двух процессов через "трубу".  .............................

Пример 25.  Общение процессов через FIFO-файл.  ................................
Пример 26.  Общение процессов через общую память и семафоры.  ..................
Пример 27.  Протоколирование работы программы при  помощи  псевдотерминала  и
     процессов.  ...............................................................
Пример 28.  Оценка фрагментированности файловой системы.  ......................
Пример 29.  Восстановление удаленного файла в BSD-2.9.  ........................
Пример 30.  Копирование файлов из MS DOS в UNIX.  ..............................
Пример 31.  Программа, печатающая свой собственный текст.  .....................
Пример 32.  Форматирование текста Си-программы.  ...............................
1.11. Треугольник из звездочек.  ...............................................    6
1.34. Простые числа.  ..........................................................   10
1.36. Целочисленный квадратный корень.  ........................................   12
1.39. Вычисление интеграла по Симпсону.  .......................................   14
1.49. Сортировка Шелла.  .......................................................   20
1.50. Быстрая сортировка.  .....................................................   21
1.67. Функция чтения строки.  ..................................................   28
1.88. Перестановки элементов.  .................................................   38
1.117. Схема Горнера.  .........................................................   58
1.137. Системная функция qsort - формат вызова.  ...............................   67
1.146. Процесс компиляции программ.  ...........................................   76
2.58. Функция bcopy.  ..........................................................  108
2.59. Функция strdup.  .........................................................  111
2.61. Упрощенный аналог функции printf.  .......................................  112
3.9. _ctype[] ..................................................................  126
3.12. Программа транслитерации: tr.  ...........................................  129
3.16. Функция записи трассировки (отладочных выдач) в файл.  ...................  132
3.18. Условная компиляция: #ifdef ..............................................  132
4.39. Быстрый доступ к строкам файла.  .........................................  161
4.45. Эмуляция основ библиотеки STDIO, по мотивам 4.2 BSD.  ....................  165
5.12. Отсортированный список слов.  ............................................  180
5.16. Структуры с полями переменного размера.  .................................  183
5.17. Список со "старением".  ..................................................  184
6.1.1. Определение типа файла.  ................................................  189
6.1.3. Выдача неотсортированного содержимого каталога (ls).  ...................  191
6.1.5. Рекурсивный обход каталогов и подкаталогов.  ............................  192
6.2.9. Функция задержки в микросекундах.  ......................................  201
6.4.3. Функция sleep.  .........................................................  217
6.10.1. Определение текущего каталога: функция getwd.  .........................  252
6.10.2. Канонизация полного имени файла.  ......................................  257
6.11.1. Мультиплексирование ввода из нескольких файлов.  .......................  259
6.11.2. Программа script.  .....................................................  261
7.12. Программа uniq.  .........................................................  285
7.14. Расширение табуляций в пробелы, функция untab.  ..........................  285
7.15. Функция tabify.  .........................................................  285
7.25. Поиск методом половинного деления.  ......................................  288
7.31. Программа печати в две полосы.  ..........................................  292
7.33. Инвертирование порядка строк в файле.  ...................................  296
7.34. Перенос неразбиваемых блоков текста.  ....................................  298
7.36. Двоичная сортировка строк при помощи дерева.  ............................  300
7.41. Функция match.  ..........................................................  309
7.43. Функция контекстной замены по регулярному выражению.  ....................  313
7.44. Алгоритм быстрого поиска подстроки в строке.  ............................  316
7.52. Коррекция правописания.  .................................................  321
7.67. Калькулятор-1.  ..........................................................  330
7.68. Калькулятор-2.  ..........................................................  336
8.1. Осыпающиеся буквы.  .......................................................  350
8.13. Использование библиотеки termcap.  .......................................  359
8.17. Разбор ESC-последовательностей с клавиатуры.  ............................  371

11.  Список литературы.

1)   Б.Керниган, Д.Ритчи, А.Фьюер.  Язык программирования Си. Задачи по языку Си.   -
     М.: Финансы и статистика, 1985.
2)   М.Уэйт, С.Прата, Д.Мартин.  Язык Си. Руководство для  начинающих.   -  М.:  Мир,
     1988.
3)   М.Болски.  Язык программирования Си. Справочник.  - М.: Радио и связь, 1988.
4)   Л.Хэнкок, М.Кригер.  Введение в программирование на языке Си.   -  М.:  Радио  и
     связь, 1986.
5)   М.Дансмур, Г.Дейвис.  ОС UNIX и программирование на языке Си.   -  М.:  Радио  и
     связь, 1989.
6)   Р.Берри, Б.Микинз.  Язык Си. Введение для программистов.  - М.: Финансы  и  ста-
     тистика, 1988.
7)   М.Беляков, А.Ливеровский, В.Семик, В.Шяудкулис.  Инструментальная мобильная опе-
     рационная система ИНМОС.  - М.: Финансы и статистика, 1985.
8)   К.Кристиан.  Введение в операционную систему UNIX.  - М.: Финансы и  статистика,
     1985.
9)   Р.Готье.  Руководство по операционной системе UNIX.  - М.: Финансы и статистика,
     1986.
10)  М.Банахан, Э.Раттер.  Введение в операционную  систему  UNIX.   -  М.:  Радио  и
     связь, 1986.
11)  С.Баурн.  Операционная система UNIX.  - М.: Мир, 1986.
12)  П.Браун.  Введение в операционную систему UNIX.  - М.: Мир, 1987.
13)  M.Bach.  The design of the UNIX operating system.  -  Prentice  Hall,  Englewood
     Cliffs, N.J., 1986.
14)  S.Dewhurst, K.Stark.  Programming in C++.  - Prentice Hall, 1989.
15)  M.Ellis, B.Stroustrup.  The annotated C++ Reference Manual.   -  Addison-Wesley,
     1990.

        /*      Пример 1      */

/* Задача о размене монеты:
 * Поиск всех возможных коэффициентов a0 .. an разложения числа  S
 * в виде
 *      S = a0 * c0 + a1 * c1 + ... + an * cn
 * где веса c0 .. cn заданы заранее и упорядочены.
 * Веса и коэффициенты неотрицательны (ai >= 0, ci >= 0).
 */

#include 

/* Достоинства разменных монет (веса ci) */
int cost[] = {
        1, 2, 3, 5, 10, 15, 20, 50, 100, 300, 500  /* копеек */
};

#define N       (sizeof cost / sizeof(int))
int count[ N ];         /* число монет данного типа (коэффициенты ai) */
long nvar;              /* число вариантов */
Предыдущая страница Следующая страница
1 ... 68 69 70 71 72 73 74  75 76 77 78 79 80 81 ... 87
Ваша оценка:
Комментарий:
  Подпись:
(Чтобы комментарии всегда подписывались Вашим именем, можете зарегистрироваться в Клубе читателей)
  Сайт:
 

Реклама