Другие языки программирования и технологии

Помогите программу написать. Язык С.

Заданы три вектора. Расположить длины этих векторов по возрастанию.
A[8]
B[10]
C[17]
Вычисление длины вектора оформить в виде функции.
#include <conio.h>
#include <stdio.h>
#include <math.h>
#include <locale.h>

struct coord {
    double x;
    double y;
};

struct vector {
    struct coord beg;
    struct coord end;
};

double len(struct vector);
void increase(double, double, double);

int main() {
    struct vector a, b, c;

    setlocale(LC_CTYPE, "Russian_Russia.1251");

    printf("Введите координату X начала первого вектора: "); scanf_s("%Lf", &a.beg.x);
    printf("Введите координату Y начала первого вектора: "); scanf_s("%Lf", &a.beg.y);
    printf("Введите координату X конца первого вектора: "); scanf_s("%Lf", &a.end.x);
    printf("Введите координату Y конца первого вектора: "); scanf_s("%Lf", &a.end.y);

    printf("Введите координату X начала второго вектора: "); scanf_s("%Lf", &b.beg.x);
    printf("Введите координату Y начала второго вектора: "); scanf_s("%Lf", &b.beg.y);
    printf("Введите координату X конца второго вектора: "); scanf_s("%Lf", &b.end.x);
    printf("Введите координату Y конца второго вектора: "); scanf_s("%Lf", &b.end.y);

    printf("Введите координату X начала третьего вектора: "); scanf_s("%Lf", &c.beg.x);
    printf("Введите координату Y начала третьего вектора: "); scanf_s("%Lf", &c.beg.y);
    printf("Введите координату X конца третьего вектора: "); scanf_s("%Lf", &c.end.x);
    printf("Введите координату Y конца третьего вектора: "); scanf_s("%Lf", &c.end.y);

    increase(len(a), len(b), len(c));

    _getch();
    return 0;
}

double len(struct vector v) { return sqrt(pow(v.beg.x - v.end.x, 2) + pow(v.beg.y - v.end.y, 2)); }
void increase(double v1, double v2, double v3) {
    double min = (v1 < v2) ? (v1 < v3) ? v1 : v3 : (v2 < v3) ? v2 : v3;
    double max = (v1 > v2) ? (v1 > v3) ? v1 : v3 : (v2 > v3) ? v2 : v3;
    double mid = v1 + v2 + v3 - min - max;
    printf("\n%Lf\n%Lf\n%Lf\n", min, mid, max);
}
Евгений
Евгений
75 001
Лучший ответ

Похожие вопросы