- •Аннотация
- •Предисловие
- •Г л а в а 1. Введение в указатели
- •§1. Понятие указателя. Операции разыменования и разадресации
- •§2. Инициализация и присваивание указателей
- •§3. Передача параметров функций с помощью указателей.
- •§4. Распределение динамической памяти.
- •4.1. Операция new
- •4.2. Операция delete
- •Упражнения, тесты.
- •Указатели и массивы
- •§1. Связь указателей и массивов
- •1.1. Указатели и одномерные массивы
- •1.2. Указатели и матрицы
- •Int MyFun (int *X, int n)
- •§3. Операции над указателями при работе с массивами.
- •3.1. Арифметические операции
- •3.2. Операции сравнения.
- •§4. Использование операций над указателями при работе с одномерными массивами
- •4.1. Использование индексов
- •4.2. Указатель в качестве параметра цикла
- •4.3. Использование указателя и индекса
- •§5. Строки.
- •5.1. Общая характеристика строк.
- •5.2. Примеры алгоритмов работы со строками.
- •5.3. Анализ строковых функций.
- •§6. Использование операций над указателями при работе со статической матрицей.
- •Упражнения, тесты.
- •Массивы указателей
- •§1. Статический массив указателей
- •§2. Частично динамическая матрица.
- •Int arr_of_size[n];
- •§3. Статический массив строк
- •§4. Динамический массив указателей
- •4.1. Указатель на указатель
- •4.2. Динамические “матрицы”.
- •Int *arr_of_size;
- •4.3. Передача матрицы в функцию
- •Int a[10]; FunArr1(a, 10,…);
- •Упражнения, тесты.
- •Задачи второго среднего уровня.
- •Структуры и другие типы, определяемые пользователем
- •§1. Структуры
- •Объявление структуры
- •1.2. Работа со структурой.
- •1.3. Вложенные структуры и статические массивы в структурах
- •1.4. Статический массив структур
- •§2. Cтруктуры и указатели
- •2.1. Указатели в структуре.
- •2.2. Указатели на структуру
- •2.3. Динамический массив структур
- •2.4. Ссылка на структуру.
- •2.5. Указатели и вложенные структуры
- •§3. Cтруктуры и функции
- •3.1. Передача полей структуры в функцию.
- •Void MyFun1 (int X, float &y, int *u1, float *u2, char *s);
- •3.2. Передача всей структуры в функцию
- •Void Fun1 (tst s,…);
- •Void Fun2 (tst & s,…);
- •Void Fun3 (tst* s,…);
- •§4. Cтруктуры и классы.
- •§5. Объединения.
- •Представление вещественных чисел в памяти компьютера.
- •§6. Поля битов (битовые поля)
- •Ввод в ы в о д
- •Symbol Code16 Code10 Code2
- •§7. Перечисления
- •Какие из строк (//1 – //9) правильные?
Задачи второго среднего уровня.
Можно использовать любой алгоритм сортировки.
Рассортировать строки динамической матрицы с одинаковым количеством элементов в каждой строке по i – му наименьшему элементу строки, где i – номер строки.
Рассортировать строки динамической матрицы с одинаковым количеством элементов в каждой строке по количеству простых чисел.
Среди наименьших элементов динамической матрицы с одинаковым количеством элементов в каждой строке найти наибольший.
Сколько различных чисел в каждой строке динамической матрицы с одинаковым количеством элементов в каждой строке?
Пусть строки динамической матрицы с одинаковым количеством элементов в каждой строке рассортированы по возрастанию. Найти числа, которые встречаются во всех строках.
Создать нижний относительно главной диагонали треугольник динамической квадратной матрицы. Рассортировать строки матрицы по возрастанию наибольших элементов строк.
Создать верхний относительно главной диагонали треугольник динамической квадратной матрицы. Рассортировать строки матрицы по возрастанию последних элементов строк.
Создать нижний относительно побочной диагонали треугольник динамической квадратной матрицы. Рассортировать строки матрицы по возрастанию первых элементов строк.
Создать верхний относительно побочной диагонали треугольник динамической квадратной матрицы. Рассортировать строки матрицы по возрастанию их средних значений.
Строки динамической матрицы с разным количеством элементов в строках рассортировать по возрастанию их сумм, а если суммы одинаковы, то сортировать по убыванию их средних значений.
Строки динамической матрицы с разным количеством элементов в строках рассортировать по возрастанию наибольшего элемента строки, который не повторяется.
Создать динамическую матрицу с разным количеством текущих оценок в строках. Рассортировать строки следующим образом: сначала должны быть строки с оценками отличников (9, 10), затем те, в которых наименьшая оценка >=6 (хорошисты) и т.д.
Найти поэлементную сумму двух симметрических относительно главной диагонали квадратных матриц. Для каждой симметричной матрицы в памяти создать её верхний или нижний относительно главной диагонали треугольник.
Найти поэлементную разность двух симметрических относительно побочной диагонали квадратных матриц. Для каждой симметрической матрицы в памяти создать её верхний или нижний относительно побочной диагонали треугольник.
С. Задачи повышенной сложности.
Численные методы линейной алгебры.
Найти произведение двух симметрических относительно главной диагонали квадратных матриц. Для каждой симметрической матрицы в памяти создать её верхний или нижний относительно главной диагонали треугольник.
Найти поэлементную разность двух симметрических относительно побочной диагонали квадратных матриц. Для каждой симметрической матрицы в памяти создать её верхний или нижний относительно побочной диагонали треугольник.
Создать динамическую матрицу с разным количеством текущих оценок в строках. Рассортировать строки, в которых нет 1, 2, или 3, по их среднему значению. Строки, в которых есть плохие оценки, в сортировке не должны участвовать.
Методом Гаусса решить систему n линейных алгебраических уравнений c n неизвестными. Создать и использовать динамическую матрицу и динамический одномерный массив.
Методом Гаусса, используя схему выбора главного элемента, решить систему n линейных алгебраических уравнений c n неизвестными. Создать и использовать динамическую матрицу и динамический одномерный массив.
Обратить динамическую квадратную матрицу по схеме единственного деления.
Вычислить определитель динамической квадратной матрицы, используя метод Гаусса.
Методом простой итерации решить систему n линейных алгебраических уравнений c n неизвестными. Создать и использовать динамическую матрицу и динамический одномерный массив.
Методом Зейделя решить систему n линейных алгебраических уравнений c n неизвестными. Создать и использовать динамическую матрицу и динамический одномерный массив
Найти собственные числа и собственные векторы матрицы методом непосредственного вычисления определителя.
Методом итераций найти наибольшее по модулю собственное значение и соответствующий ему собственный вектор динамической матрицы.
Г л а в а 4.