Образовательный репорзиторий студента. Не несет научно-познавательного характера и не является примером к исполнению. Задания предназначеные для получения зачета.
1. Решение квадратных уравнений: (+)
Дано уравнение вида: ax^2 + bx + с. Программа считывает вещественные коэффициенты а, b, c и выводит корни. Если корней нет, выводит сообщение об этом.
2. Калькулятор: (+)
Программа считывает два целых числа и символ операции (один из * / % + -), затем выводит результат.
3. Часы: (+)
Даны числа h и m, где h - количество часов, m - количество минут некоторого момента времени. Найдите угол между часовой и минутной стрелками в этот момент времени.
4. Треугольник из символов: (+)
Программа считывает количество линий и выводит в консоль треугольник.
5. Наибольший и наименьший элемент в массиве: (+)
На вход программы подается массив целых чисел: сначала размер массива, затем его элементы.
Программа выводит наибольший и наименьший элемент в массиве.
6. Соседние элементы с минимальной суммой: (+)
На вход программы подается массив целых чисел: сначала размер массива, затем его элементы.
Программа выводит два соседних элемента массива сумма которых минимальна.
7. Умножение матриц (+):
Пользователь вводит две матрицы размера 3x3, вывести результат умножения этих матриц.
8. Поворот матрицы: (+)
Пользователь вводит матрицу размера 3x3. Сформировать новую матрицу, полученную из исходной путем поворота относительно центра на 90 градусов по часовой стрелке.
Пример:
0 1 2 → 6 3 0
3 4 5 → 7 4 1
6 7 8 → 8 5 2
9. Блэкджек: (+)
Программа выводит текущий набор карт игрока (строку из символов J, K, Q, A и цифр), количество очков, затем считывает действие игрока: взять еще карту или остановиться. Если игрок решил остановиться программа рассчитывает количество очков у крупье и выводит результаты.
Считаем, что колода карт бесконечна, каждый раз может выпасть карта от 2 до туза. Картинки дают 10 очков, туз - 11, остальные по номиналу.
10. Поиск количества вхождений заданного символа в строку: (+)
Программа считывает строку до нажатия клавиши «Enter», затем считывает искомый символ и выводит количество вхождений этого символа в введенную ранее строку.
11. Сортировка массива строк по алфавиту: (+)
Написать функцию сортировки массива строк по алфавиту:
void sort(char **array, size_t arraySize);
В мейне считать массив строк, передать его в функцию и вывести результат.
12. Удаление лишних пробелов: (+)
Написать функцию, принимающую строку и возвращающую копию этой строки, в которой все серии подряд идущих пробелов заменены на одиночные пробелы. Крайние пробелы в строке удалить. В мейне считать строку, передать ее в функцию и вывести результат.
13. Вектор: (+)
Реализовать модуль для работы с динамическим массивом.
Модуль должен реализовывать все указанные в примере хедера функции.
В мейне привести пример использования каждой функции.
Программа должна состоять из трех файлов и собираться с помощью make.
14. Менеджер контактов: (+)
Слишком большое описание))
15. Модуль работы с файлами: (-)
Реализовать модуль для работы с файлами.
Функции модуля принимают первым аргументом указатель на FILE.
Модуль должен содержать следующие функции:
- Вывести файл в консоль, печатая номера строк.
- Дописать указанную строку в конец файла.
- Вывести строки (с их номерами), в которых есть указанная подстрока, причем саму подстроку вывести в верхнем регистре.
- Перезаписать файл, удалив строку с указанным номером.
- Перезаписать файл, вставив указанную строку перед строкой с указанным номером.
В мейне привести пример использования каждой функции. Программа должна состоять из трех файлов и собираться с помощью make.
16. Модуль комплексных чисел: (+)
Реализовать модуль для работы с комплексными числами
Модуль должен содержать следующие функции:
- Сложение
- Умножение
- Деление
- Получение модуля числа
- Получение аргумента числа
- Получение сопряженного числа
- Вывод в алгебраической форме
- Вывод в тригонометрической форме
- Вывод в показательной форме
В мейне привести пример использования каждой функции.
Программа должна состоять из трех файлов и собираться с помощью make.