Описать структуру Трехмерный вектор с полями Координата х, Координата у, Координата z - C (СИ)
Формулировка задачи:
Описать структуру Трехмерный вектор с полями Координата х, Координата у, Координата z. Создать функцию длина (v), возвращающую дину вектора v, и функцию произведения (v,k) умножающую вектор v на число k.
Должна быть реализована функция ввода и вывода данных объекта структуры на экран . для структуры Точка- вывод вида (x,y,z)
Решение задачи: «Описать структуру Трехмерный вектор с полями Координата х, Координата у, Координата z»
textual
Листинг программы
#include <stdlib.h> #include <stdio.h> #include <math.h> struct Vector{ double x; double y; double z; }; double length(Vector v){ return sqrt(v.x * v.x + v.y * v.y + v.z * v.z); } void product(Vector& v, double k){ v.x *= k; v.y *= k; v.z *= k; } void input(Vector& v){ printf("Input three coordinates: "); double x = 0, y = 0, z = 0; scanf("%lf%lf%lf", &x, &y, &z); printf("%f %f %f\n", x, y, z); v.x = x; v.y = y; v.z = z; } void output(Vector v){ printf("(%f, %f, %f)", v.x, v.y, v.z); }
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы для работы с математическими функциями и структурой
Vector
. - Объявляем структуру
Vector
с полямиx
,y
,z
типаdouble
. - Определяем функцию
length
, которая вычисляет длину вектора по формулеsqrt(x^2 + y^2 + z^2)
. - Определяем функцию
product
, которая масштабирует векторv
по коэффициентуk
. - Определяем функцию
input
, которая запрашивает у пользователя ввод координат вектораv
и присваивает их соответствующим полям структуры. - Определяем функцию
output
, которая выводит векторv
на экран в формате(x, y, z)
. - В основной функции программы создаем экземпляр структуры
Vector
и вызываем функцииinput
иoutput
для ввода и вывода вектора. - Вызываем функцию
length
для вычисления длины вектора. - Вызываем функцию
product
для масштабирования вектора. - Вводим и выводим измененный вектор.
- Выводим исходный вектор.
- Завершаем программу.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д