Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб9 программирование.doc
Скачиваний:
5
Добавлен:
19.08.2019
Размер:
110.59 Кб
Скачать

Задание.

Решить задачу двумя способами:

- используя несколько массивов

- используя массив структур

Память под массивы выделять динамически. Структуры в функции передавать по адресу.

  1. Ввести N дат (день – char, месяц – char, год – int). Написать функцию, определяющую промежуток времени (в днях) между двумя датами. Используя эту функцию найти минимальный промежуток в днях среди заданных дат.

  2. Ввести N значений времени (часы, минуты, секунды). Написать функцию, определяющую длительность временного отрезка (в секундах) между двумя значениями времени. Используя эту функцию найти минимальный промежуток в секундах среди заданных значений.

  3. Ввести N значений координат точек на плоскости (double x, double y). Написать функцию поворота точки на угол вокруг начала координат. Используя эту функцию вывести координаты точек после поворота. Значения координат точек после поворота сохранить в отдельном массиве (массивах).

  1. Ввести N значений координат точек в трехмерном пространстве (double x, double y, double z). Написать функцию, вычисляющую расстояние между точками. Используя эту функцию вычислить максимальное расстояние между заданными точками.

  2. Ввести следующую информацию для N человек: рост (см), вес (кг), пол. Написать функцию, вычисляющую соответствие роста весу по формуле:

Женщины:

(рост – 100)*1.05<вес – избыток

(рост – 100)/1.08>вес – недостаток

иначе – норма.

Мужчины:

(рост – 100)*1.1<вес – избыток

(рост – 100)/1.03>вес – недостаток

иначе – норма.

Используя эту функцию вывести статистику: сколько человек имеет нормальный вес, сколько избыток, сколько недостаток веса.

  1. Ввести N значений координат точек в трехмерном пространстве в цилиндрических координатах (double , double , double z). Написать функцию, переводящую координаты точки в цилиндрических координатах в систему декартовых координат. Используя эту функцию вывести координаты точек в декартовой системе координат. Значения координат точек в декартовой системе координат сохранить в отдельном массиве (массивах).

  2. Ввести N значений координат точек в трехмерном пространстве в декартовых координатах (double x, double y, double z). Написать функцию, переводящую координаты точки в цилиндрическую систему координат. Используя эту функцию вывести координаты точек в цилиндрической системе координат. Значения координат точек в цилиндрической системе координат сохранить в отдельном массиве (массивах).

  3. Ввести N значений координат точек в трехмерном пространстве в сферической системе координат (double , double , double ). Написать функцию, переводящую координаты точки в систему декартовых координат. Используя эту функцию вывести координаты точек в декартовой системе координат. Значения координат точек в декартовой системе координат сохранить в отдельном массиве (массивах).

  4. Ввести координаты начала и конца N отрезков на плоскости. Написать функцию, определяющую пересекаются два отрезка или нет. Используя эту функцию вывести список всех пересечений среди заданных отрезков.

  5. Ввести следующую информацию об N треугольниках: длины трех сторон. Написать функцию, определяющую площадь треугольника. Используя эту функцию найти максимальную площадь треугольника среди введенных данных.

  6. Ввести следующую информацию об N усеченных конусах: два радиуса и расстояние между ними. Написать функцию, определяющую объем усеченного конуса. Используя эту функцию найти максимальный объем конуса среди введенных данных.

  7. Ввести координаты N векторов на плоскости. Написать функцию, определяющую модуль векторного произведения двух векторов. Используя эту функцию найти максимальный модуль векторного произведения пары вектров.

  8. Ввести координаты N векторов на плоскости. Написать функцию, определяющую угол между двумя векторами. Используя эту функцию, напечатать углы между всеми парами векторов. Информацию об углах сохранить в отдельном массиве.

  9. Ввести следующую информацию об N треугольниках: длины двух сторон и угол между ними. Написать функцию, определяющую площадь треугольника. Используя эту функцию найти максимальную площадь треугольника среди введенных данных.

  10. Ввести следующую информацию об N треугольниках: длину стороны треугольника и два угла, прилежащих к ней. Написать функцию, определяющую площадь треугольника. Используя эту функцию найти минимальную площадь треугольника среди введенных данных.

  11. Ввести следующую информацию для N испытаний: масса, скорость, радиус движения. Написать функцию, вычисляющую центробежную силу. Используя эту функцию определить максимальную.

  12. Ввести следующую информацию для N цилиндров: плотность, радиус, высота. Написать функцию, вычисляющую массу цилиндра. Используя эту функцию определить минимальную.

  13. Ввести следующую информацию для N тонких длинных цилиндров: модуль упругости (E), площадь сечения (S), длина (l), сила растяжения (F). Написать функцию, вычисляющую абсолютное удлинение цилиндра ( ). Используя эту функцию определить минимальное удлинение.

  1. Ввести N значений координат точек на плоскости (double x, double y). Написать функцию, вычисляющую площадь треугольника по координатам трех вершин. Используя эту функцию, вычислить площадь самого большого треугольника образованного любыми тремя точками заданной последовательности.

  2. Ввести следующую информацию для N выданных кредитов: сумма кредита (S), годовая процентная ставка (P), срок кредита n лет. Написать функцию, вычисляющую величину ежемесячного платежа. Используя эту функцию, найти параметры кредитов с минимальной и максимальной величиной ежемесячного платежа.