Описать структуру Трехмерный вектор с полями Координата х, Координата у, Координата 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
для масштабирования вектора. - Вводим и выводим измененный вектор.
- Выводим исходный вектор.
- Завершаем программу.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д