- •Предисловие
- •Глава 1. Основные понятия
- •1.1. Элементы языка программирования
- •1.2. Процесс создания программы
- •1.3. Первая программа
- •1.4. Состав программы
- •Глава 2. Средства разработки на C++
- •2.1. Системы Turbo C++ 3.0/Borland C++ 3.1
- •2.2. Система C++ Builder
- •Глава 3. Работа с числовыми данными
- •3.1. Целые типы
- •3.2. Числа с плавающей точкой
- •3.3. Ввод и вывод чисел
- •3.4. Логический тип и логические операции
- •3.5. Математические функции
- •Глава 4. Операторы. Ключевые слова
- •4.1. Операторы
- •4.2. Приоритеты операторов
- •4.3. Ключевые слова
- •4.4. Структура программы
- •4.5. Константы
- •Задачи - . Простейшие вычисления
- •Глава 5. Управление и циклы
- •5.1. Условный оператор
- •5.2. Операторы цикла
- •5.3. Переключатель
- •5.4. Операторы break и continue
- •Задачи -. Выбор и циклы
- •Глава 6. Массивы
- •6.1. Одномерные массивы
- •6.2. Двумерные массивы
- •Задачи -. Одно- и двумерные массивы
- •Глава 7. Функции
- •7.1. Определение функции
- •7.2. Формальные параметры и фактические аргументы
- •7.3. Автоматические и статические переменные
- •7.4. Прототипы функций
- •7.5. Массивы как аргументы функций
- •7.6. Внешние переменные
- •7.7. Рекурсия
- •7.8. Перегруженные имена функций
- •7.9. Аргументы функций по умолчанию
- •Задачи -. Функции
- •Глава 8. Символы и строки
- •8.1. Символы
- •8.2. Строки символов
- •Задачи -. Символы и строки
- •Глава 9. Препроцессор
- •9.1. Директивы препроцессора
- •9.2. Макросы
- •Задачи -. Макросы
- •Глава 10. Указатели и ссылки
- •10.1. Указатели и адреса
- •10.2. Указатели и массивы
- •10.3. Адресная арифметика
- •10.4. Символьные указатели
- •10.5. Массивы указателей
- •10.6. Указатели на функции
- •10.7. Ссылки
- •10.8. Операторы new и delete
- •Задачи -. Указатели и ссылки
- •Глава 11. О файлах и командной строке
- •11.1. Знакомство с файлами
- •11.2. Командная строка
- •11.3. Перенаправление стандартного ввода и вывода на файл
- •11.4. Аргументы командной строки
- •Задачи -. Файлы и командная строка
- •Глава 12. Работа с экраном дисплея
- •12.1. Текстовый режим
- •12.2. Графический режим
- •Задачи -. Работа с экраном
- •Глава 13. Внутреннее представление чисел
- •13.1. Двоичная система счисления
- •13.2. Беззнаковые целые
- •13.3. Двоичный дополнительный код
- •13.4. Двоичный код с избытком
- •13.5. Побитовые операторы
- •13.6. Дробные числа в двоичной системе
- •13.7. Внутреннее представление плавающих типов
- •13.8. Преобразование типов
- •Задачи -. Побитовые операторы
- •Глава 14. Структуры, перечисления, объединения
- •14.1. Объявление структур
- •14.2. Структуры и функции
- •14.3. Указатели на структуры
- •14.4. Массивы структур
- •14.5. Перечисления
- •14.6. Объединения
- •14.7. Битовые поля
- •14.8. О бинарных файлах
- •Задачи -. Структуры
- •Глава 15. Классы
- •15.1. Структуры в C++. Инкапсуляция
- •15.2. Встроенные функции
- •15.3. Классы. Скрытие данных
- •15.4. Конструкторы
- •15.5. Статические члены класса
- •15.6. Друзья класса
- •15.7. Копирование объектов класса
- •15.8. Управление доступом
- •15.9. Ссылка на себя
- •15.10. Деструкторы
- •Задачи -. Работа с классами
- •Глава 16. Программы из нескольких файлов
- •16.1. Работа с проектами
- •16.2. Область действия имен
- •16.3. Заголовочные файлы
- •16.4. Пространства имен
- •Задачи -. Работа со стеком
- •Глава 17. Перегрузка операторов
- •17.1. Правила перегрузки операторов
- •Задачи -. Перегрузка операторов
- •Глава 18. Конструктор копирования и оператор присваивания
- •18.1. Проблемы при копировании
- •Задачи -. Конструктор копирования
- •Глава 19. Ввод и вывод
- •19.1. Вывод
- •19.2. Ввод
- •19.3. Ввод и вывод определяемых пользователем типов
- •19.4. Работа с файлами
- •Глава 20. Взаимоотношения классов
- •20.1. Объекты как члены класса
- •20.2. Конструкторы встроенных типов
- •20.3. Наследование
- •20.4. Виртуальные функции
- •20.5. Абстрактные классы
- •20.6. Совместимость типов
- •20.7. Множественное наследование
- •Задачи -. Наследование классов
- •Глава 21. Шаблоны, исключения
- •21.1. Шаблоны
- •21.2. Шаблоны функций
- •21.3. Классы и шаблоны
- •21.4. Обработка исключений
- •21.5. Стандартная библиотека шаблонов
- •Литература
- •Предметный указатель
82 6
при вводе значений и подсчете выручки магазинов и по столбцам при нахождении выручки от продажи товаров.
Задачи -. Одно- и двумерные массивы
53.Упорядочить массив x по возрастанию, то есть переставить его
элементы так, чтобы для всех k выполнялось xk ≤ xk+1, используя алгоритм сортировки вставками: пусть первые k элементов массива уже упорядочены по возрастанию; берется k+1 – й элемент и размещается среди первых k элементов так, чтобы упорядоченными оказались уже k+1 первых элементов; этот метод применяется при k от 1 до n–1.
54.Даны массивы x, y, z из 5 элементов типа float. Распечатать тот из них, в котором самый большой минимальный элемент (считать, что такой элемент единственный) с указанием имени массива.
55.Напишите программу, создающую массив из 10 элементов целого типа, вводящую некоторое целое число и определяющую, встречается ли это число среди элементов массива.
56.Напишите программу, которая вводит массив из 10 чисел с плавающей точкой и проверяет, образуют ли они возрастающую последовательность.
57.Напишите программу, которая проверяет, есть ли во введенном массиве одинаковые элементы.
58.Напишите программу, которая находит среднее арифметическое значение элементов введенного массива.
59.Напишите программу, которая находит разность между наибольшим и наименьшим элементами массива.
60.Последовательность вещественных чисел размещена в массиве. Определить число поворотных точек этой последовательности, то есть число членов последовательности больших или меньших своих соседей.
61.В заданном двумерном массиве (матрице) 4*4 найдите максимальный элемент, его номер строки и номер столбца.
62.В матрице 4*4 найдите значения максимального и минимального элемента и их разность.
63.В матрице 4*4 переставьте местами строки с заданными номерами i и k.
64.Напишите программу, меняющую местами столбцы j и k матрицы размером 4*4.
65.В матрице 4*4 поменяйте местами первую строку и строку, у которой первый элемент является наибольшим среди элементов первого столбца.
Массивы 83
66.Напишите программу, транспонирующую квадратную матрицу размером 4*4, то есть меняющую местами ее строки и столбцы.
67.Элемент матрицы называется седловой точкой, если он является минимальным в своей строке и максимальным в своем столбце или, наоборот, максимальным в своей строке и минимальным в своем
столбце. Для заданной целой матрицы размером 5×5 напечатать индексы (номера строк и столбцов) всех ее седловых точек.
68.Пусть дана квадратная матрица размером 4*4. Создайте матрицу 3*3 путем вычеркивания i-й строки и j-го столбца.
69.Пусть имеется квадратная матрица размером 4*4 и массив (вектор) из 4-х элементов. Напишите программу, заменяющую j-й столбец матрицы вектором.