- •Сведения об авторах
- •1. Знакомство с языком С++
- •1.1 Первая программа на С++
- •1.2 Среда программирования Qt Creator
- •2. Общие сведения о языке С++
- •2.1 Алфавит языка
- •2.2 Данные
- •2.2.1 Символьный тип
- •2.2.2 Целочисленный тип
- •2.2.3 Вещественный тип
- •2.2.4 Логический тип
- •2.2.5 Тип void
- •2.3 Константы
- •2.4 Структурированные типы данных
- •2.5 Указатели
- •2.6 Операции и выражения
- •2.6.1 Операции присваивания
- •2.6.2 Арифметические операции
- •2.6.3 Логические операции
- •2.6.4 Операции отношения
- •2.6.5 Условная операция
- •2.6.6 Операция преобразования типа
- •2.6.7 Операция определения размера
- •2.6.8 Операции с указателями
- •2.7 Стандартные функции
- •2.8 Структура программы
- •2.9 Ввод и вывод данных
- •2.9.1 Функции ввода - вывода
- •2.10 Задачи для самостоятельного решения
- •2.10.2 Операции целочисленной арифметики.
- •2.10.3 Встроенные математические функции
- •3. Операторы управления
- •3.1 Основные конструкции алгоритма
- •3.2 Составной оператор
- •3.3 Условные операторы
- •3.3.1 Условный оператор
- •3.3.2 Оператор варианта
- •3.4 Операторы цикла
- •3.4.1 Оператор цикла с предусловием
- •3.4.2 Оператор цикла с постусловием
- •3.4.3 Оператор цикла с параметром
- •3.4.4 Операторы передачи управления
- •3.5 Решение задач с использованием циклов
- •3.6 Задачи для самостоятельного решения
- •3.6.1 Разветвляющийся процесс. Вычисление значения функции.
- •3.6.2 Разветвляющийся процесс. Попадание точки в плоскость.
- •3.6.3 Разветвляющийся процесс. Пересечение линий и решение уравнений.
- •3.6.4 Циклический процесс. Вычисление значений функции
- •3.6.6 Циклический процесс. Последовательности произвольных чисел
- •3.6.7 Циклический процесс. Работа с цифрами в числе
- •3.6.8 Вложенные циклы
- •4. Использование функций при программировании на С++
- •4.1 Общие сведения о функциях. Локальные и глобальные переменные
- •4.2 Передача параметров в функцию
- •4.3 Возврат результата с помощью оператора return
- •4.4 Решение задач с использованием функций
- •4.5 Рекурсивные функции
- •4.6 Перегрузка функций
- •4.7 Шаблоны функций
- •4.8 Область видимости переменных в функциях
- •4.9 Функция main(). Параметры командной строки
- •4.10 Задачи для самостоятельного решения
- •4.10.1 Применение функций при работе с последовательностями чисел
- •4.10.2 Применение функций для вычислений в различных системах счисления
- •4.10.3 Применение функций для решения нелинейных уравнений
- •5. Массивы
- •5.1 Статические массивы в С(С++)
- •5.1.1 Описание статических массивов
- •5.1.2 Основные операции над массивами
- •5.2 Динамические массивы в С(С++)
- •5.2.1 Функция malloc
- •5.2.2 Функция calloc
- •5.2.3 Функция realloc
- •5.2.4 Функция free
- •5.2.5 Операторы new и delete
- •5.3 Основные алгоритмы обработки массивов
- •5.3.2 Вычисление суммы элементов массива
- •5.3.3 Вычисление произведения элементов массива
- •5.3.4 Поиск максимального элемента в массиве и его номера
- •5.3.5 Удаление элемента из массива
- •5.3.6 Сортировка элементов в массиве
- •5.3.6.1 Сортировка методом «пузырька»
- •5.3.6.2 Сортировка выбором
- •5.3.6.3 Сортировка вставкой
- •5.4 Указатели на функции
- •5.5 Совместное использование динамических массивов, указателей, функций в сложных задачах обработки массивов
- •5.6.1 Основные операции при работе с массивами
- •5.6.2 Применение функций для обработки массивов.
- •5.6.3 Работа с группами элементов в массиве
- •5.6.4 Сортировка элементов массива
- •6. Статические и динамические матрицы
- •6.1 Статические матрицы С(С++)
- •6.2 Динамические матрицы
- •6.2.1 Использование указателей для работы с динамическими матрицами
- •6.2.2 Использование двойных указателей для работы с динамическими матрицами
- •6.3 Обработка матриц в С(С++)
- •6.4 Решение некоторых задач линейной алгебры
- •6.5 Задачи для самостоятельного решения
- •6.5.1 Основные операции при работе с матрицами
- •6.5.2 Работа со строками и столбцами матрицы
- •6.5.3 Решение задач линейной алгебры
- •7. Организация ввода-вывода в C++
- •7.1.2 Использование манипуляторов форматирования
- •7.2 Работа текстовыми файлами в C++
- •7.2.1 Запись информации в текстовый файл
- •7.2.2 Чтение информации из текстового файла
- •7.3 Обработка двоичных файлов
- •8. Строки в языке С++
- •8.1 Общие сведения о строках в С++
- •8.2 Операции над строками
- •8.3 Тип данных string
- •8.4 Задачи для самостоятельного решения
- •9. Структуры в языке С++
- •9.1 Общие сведения о структурах
- •9.2 Библиотеки для работы с комплексными числами
- •9.3 Задачи для самостоятельного решения
- •9.3.1 Структуры. Операции над комплексными числами
- •9.3.2 Работа с библиотекой комплексных чисел
Алексеев Е.Р., Чеснокова О.В. Самоучитель по программированию на C/C++. |
224 |
double **a, b; cout<<"N="; cin>>N; a=new double *[N];
for(i=0;i<N;a[i]=new double[N],i++); // Ввод значений исходной матрицы. cout<<"Input Matrix A"<<endl; for(i=0;i<N;i++)
for(j=0;j<N;cin>>a[i][j],j++);
//Обращение к функции вычисления определителя. cout<<"determinant="<<determinant(a,N)<<endl;
}
6.5Задачи для самостоятельного решения
6.5.1Основные операции при работе с матрицами
1.В двумерном массиве А, состоящем из n×n целых чисел вычислить:
•наименьший элемент;
•сумму положительных элементов;
•количество простых чисел, расположенных на диагоналях матрицы
Для заданной матрицы А(n×n) и матрицы того же типа и размерности С(n×n) найти значение выражения B=2 A+ BT
2.В двумерном массиве С, состоящем из n×n целых чисел вычислить:
•сумму элементов;
•количество нечетных элементов;
•минимальное простое число среди элементов, расположенных на главной диагонали.
Для заданной матрицы С(n×n) и матрицы того же типа и размерности B(n×n)
найти значение выражения A=(B−C) C T
3.В двумерном массиве B, состоящем из m×m целых чисел вычислить:
•номер наибольшего элемента;
•количество отрицательных элементов;
•среднее геометрическое среди простых чисел, расположенных на побоч-
ной диагонали.
Для заданной матрицы размерности B(n×n) найти значение выражения
A=3 B+BT
4.В двумерном массиве А, состоящем из n×m вещественных чисел вычислить:
•сумму элементов;
•произведение ненулевых элементов;
•два наибольших значения матрицы.
Для заданной матрицы А(n×m) и матрицы того же типа и размерности С(n×m)
найти значение выражения |
B=2 A+ |
1 С |
|
|
3 |
5.В двумерном массиве B, состоящем из n×m вещественных чисел вычислить:
•произведение элементов;
•сумму положительных элементов;
•два наименьших значения среди расположенных выше побочной диагона-
ли.
Для заданной матрицы B(n×m) и матрицы того же типа, но другой размерности С(k×n) найти значение выражения A=3 B C .
Алексеев Е.Р., Чеснокова О.В. Самоучитель по программированию на C/C++. |
225 |
6.В двумерном массиве А, состоящем из n×n целых чисел вычислить:
•наименьший элемент;
•количество четных чисел;
•сумму положительных элементов, которые представляют собой возрастающую последовательность цифр.
Для заданной матрицы А(n×n) и матрицы того же типа и размерности С(n×n)
найти значение выражения B= A2−СT
7. В двумерном массиве С, состоящем из n×n целых чисел вычислить:
•номер наименьшего элемента;
•сумму квадратов отрицательных элементов;
•минимальное простое число среди элементов, расположенных в заштрихованной части матрицы (рис. 6.18).
Для заданной матрицы С(n×n) и матрицы того же |
|
||
типа и размерности B(n×n) найти значение выраже- |
Рисунок 6.18. |
||
ния |
A=(BT +C )2 |
||
|
8.В двумерном массиве B, состоящем из n×n целых чисел вычислить:
•среднее арифметическое элементов;
•наименьший четный элемент;
•количество чисел-палиндромов, расположенных в заштрихованной части матрицы (рис. 6.19).
Для заданной матрицы B(n×n) и матрицы того же типа и размерности С(n×n) найти
значение выражения |
A= |
1 B+C2 |
|
|
2 |
Рисунок 6.19.
9.В двумерном массиве С, состоящем из n×n целых чисел вычислить:
•среднее геометрическое элементов;
•наибольший нечетный элемент;
•количество составных чисел среди элемен-
тов, расположенных в заштрихованной части матрицы (рис. 6.20).
Для заданной матрицы С(n×n) найти значение |
|
выражения A=С +CT . |
Рисунок 6.20. |
|
10.В двумерном массиве А, состоящем из n×n целых чисел вычислить:
•номер наименьшего элемента;
•среднее арифметическое нечетных чисел;
•количество положительных элементов, которые представляют собой убывающую последовательность цифр.
Для заданной матрицы А(n×n) найти значение выражения |
B= |
1 A2 . |
|
|
5 |
11. В двумерном массиве B, состоящем из n×n вещественных чисел вычислить:
Алексеев Е.Р., Чеснокова О.В. Самоучитель по программированию на C/C++. |
226 |
•среднее арифметическое элементов;
•элемент наиболее отличающийся от среднего арифметического. Отразить заданную матрицу относительно побочной диагонали.
Для матрицы B(n×n) и матрицы того же типа и размерности С(n×n) найти значе-
ние выражения A=2 B−CT .
12.В двумерном массиве С, состоящем из n×n целых чисел вычислить:
•среднее геометрическое элементов;
•элемент наименее отличающийся от средне-
го геометрического;
• количество положительных элементов с четной суммой цифр, расположенных в заштрихованной части матрицы (рис. 6.21)
Для матрицы С(n×n) и матрицы того же типа и раз- |
Рисунок 6.21. |
|
мерности B(n×n) найти значение выражения |
||
|
||
A=(B−C) (B+C ) . |
|
13.В двумерном массиве А, состоящем из n×n целых чисел вычислить:
•наименьший элемент и его номер;
•среднее арифметическое положительных четных элементов;
•произведение простых чисел-палиндромов, расположенных в заштрихованной части матрицы (рис. 6.22).
Для заданной матрицы А(n×n) и матрицы того же типа и размерности С(n×n) найти значе-
ние выражения B= A2−С 2 .
Рисунок 6.22.
14.В двумерном массиве С, состоящем из n×n целых чисел вычислить:
•наибольший элемент и его номер;
•среднее арифметическое элементов, расположенных на диагоналях мат-
рицы.
Сформировать новую матрицу А(n×n), каждый элемент которой будет равен сумме цифр элемента матрицы С(n×n). Для матриц А(n×n) и С(n×n) найти зна-
чение выражения B=( A+С )2 .
15.В двумерном массиве B, состоящем из m×m целых чисел вычислить:
•произведение элементов;
•номер наибольшего четного элемента;
•сумму чисел-палиндромов, расположенных вне диагоналей матрицы. Для заданной матрицы размерности B(n×n) и матрицы того же типа и размерно-
сти С(n×n) найти значение выражения A=С B− BT .
16. В двумерном массиве A, состоящем из n×n целых чисел вычислить:
Алексеев Е.Р., Чеснокова О.В. Самоучитель по программированию на C/C++. |
227 |
•среднее арифметическое элементов;
•номер наименьшего нечетного элемента, расположенного в заштрихованной части матрицы (рис. 6.23).
Сформировать новую матрицу B(n×n), каждый элемент которой равен значению матрицы А(n×n), цифры которого записаны в обратном порядке. Для матриц А(n×n) и B(n×n)
найти значение выражения B= A+С2 . |
Рисунок 6.23. |
|
17.В двумерном массиве А, состоящем из n×m целых чисел вычислить:
•сумму элементов;
•количество ненулевых элементов, расположенных по периметру матри-
цы;
•среднее геометрическое чисел, состоящих из различных цифр.
Для заданной матрицы А(n×m) и матрицы того же типа и размерности С(n×m) найти значение выражения B=2 A−3 С .
18.В двумерном массиве B, состоящем из n×m целых чисел вычислить:
•произведение элементов;
•сумму элементов, расположенных вне периметра матрицы;
•наименьшее число, состоящее из одинаковых цифр.
Для заданной матрицы B(n×m) и матрицы того же типа, но другой размерности С(k×n) найти значение выражения A= B C .
19.В двумерном массиве A, состоящем из n×n целых чисел вычислить:
•среднее геометрическое элементов;
•номер наибольшего четного элемента, расположенного в заштрихованной части матрицы (рис. 6.24).
Сформировать новую матрицу B(n×n), каждый элемент которой равен значению матрицы А(n×n) в восьмеричной системе счисления. Для матриц А(n×n)
найти значение выражения C=3 A2 .
Рисунок 6.24.
20. В двумерном массиве B, состоящем из n×n целых чисел вычислить:
•сумму квадратов элементов;
•количество совершенных чисел, расположенного в заштрихованной части матрицы (рис. 6.25). Сформировать новую матрицу А(n×n), каждый элемент которой равен количеству делителей соответ-
ствующего значения матрицы B(n×n). Для матриц
А(n×n) и B(n×n) найти значение |
выражения |
C=BT −A2 . |
Рисунок 6.25. |
21. В двумерном массиве A, состоящем из n×n целых чисел вычислить: