
Ну, и в долгу не останусь

1. Работа с битами.
Ввести последовательность из 8 символов. Если символ есть + – * / % , то заменить в нем четыре младших бита единицами, иначе – заменить 5-й бит нулем. Вывести исходную и преобразованную последовательности в символьной и восьмеричной формах.
2. Рекуррентные последовательности.
Напечатать значения очередных пар последовательностей и Произведение.

3. Одномерные массивы.
Даны целые числа a1, …, a30. Все члены последовательности с четными номерами, предшествующие первому по порядку члену со значением max(a1,…, a30), домножить на max(a1, …, a30).
4. Двумерные массивы.
Задана матрица Z(5,6). Выбрать строку с наибольшей суммой элементов и вывести элементы этой строки в массив, затем каждый отрицательный элемент умножить на номер столбца. Вывести исходную и преобразованную матрицы, полученный массив.
5. Динамическое распределение памяти.
Получить квадратную матрицу порядка n:

Матрица размещается в памяти динамически с помощью операции new, значение n вводится по запросу с клавиатуры. В конце работы программы освободить выделенную память. Вывести полученную матрицу.
6. Работа с символьными данными.
Прочитать из файла строку символов. Заменить в этой строке все целые числа соответствующим повторением следующего за ними символа (например "abc5xacb15y" – "abcxxxxxacbyyyyyyyyyyyyyyy"). Новую строку не создавать. Вывести исходную и преобразованную строки.
7. Классы. Протокол класса. Конструкторы и деструкторы.
Создать класс матрица Данный класс содержит указатель на long, размер строк и столбцов и состояние ошибки. Определить конструктор без параметров, конструктор с одним параметром и конструктор с двумя параметрами, деструктор. Определить методы доступа: возвращать значение элемента (i, j) и адрес этого элемента. Определить функцию печати. Определить функции сложения и вычитания (матрицы с матрицей), умножение матрицы на матрицу. Определить умножение матрицы на число. Проверить работу этого класса. В случае нехватки памяти, несоответствия размерностей, выхода за пределы устанавливать код ошибки.
8. Преобразование типов. Дружественные функции. Конструктор копирования.
Создать два класса вектор (double *) и матрица (double **). Определить конструкторы по умолчанию, с параметром, для класса матрица с двумя параметрами, копирования, деструкторы. Определить функцию умножения матрицу на вектор как дружественную.
9. Перегрузка операторов.
Создать объект – связный двунаправленный список, с перегруженными унарными операциями ++, --, как движение по списку. (Как постфиксными так префиксными).
10. Наследование. Иерархия и контейнерные классы.
Используя иерархию и композицию классов, создать бинарное дерево. У бинарного дерева есть корневой узел. Мы можем вставлять узел. Мы можем обходить в ширину и обратный обход. Узел может быть помещен в дерево двоичного поиска только в качестве концевого узла. Если дерево является пустым, то создается новый экземпляр класса узел дерева и узел помещается в дерево. Если дерево не является пустым, то программа сравнивает вставляемое в дерево значение со значением в корневом узле и если меньше, то помещает в левые поддеревья, а если больше, то в правые. Если значения равны, то выводится сообщение, что повтор и не вставляется.
11. Виртуальные функции.
Создать класс – данные – абстрактный базовый класс. Создать производные классы – данные типа сигнал, данные типа результат обработки и вспомогательные данные. Все данные имеют функции отображения, сохранения и обработки.
12. Применение основ программирования на языке высокого уровня в области химической технологии.
Создать класс «Скорость химической реакции».
Создать процедуру ввода параметров химической реакции:
- стехиометрические коэффициенты αi;
- число исходных реагентов m;
- константа скорости химической реакции k;
- концентрации исходных реагентов во времени Сi(t).
Создать функцию расчёта скорости химической реакции. Для вывода уравнения скорости химической реакции используется закон действия масс (основной постулат химической кинетики).
Если в реагирующей системе протекает реакция в соответствии со следующим стехиометрическим уравнением: α1А1 + α2А2 + … + αmАmk αm+1А m+1 + α m+2А m+2 + … + αnАn, то в соответствии с законом действия масс скорость элементарной химической реакции пропорциональна концентрациям реагирующих
веществ в степенях, равных их стехиометрическим коэффициентам:

где k – константа скорости реакции (размерность зависит от порядка реакции); m – число реагентов в реакции; Сi – концентрация i-го компонента, моль/м3; αi – стехиометрический коэффициент i-го компонента.
Создать функцию вывода результатов расчёта скорости реакции в каждый момент времени.
4A = 4B + 2C + D