Форум программистов, компьютерный форум CyberForum.ru

Вычислить длину медианы(С код) - C++

Восстановить пароль Регистрация
 
petvcal
0 / 0 / 0
Регистрация: 08.04.2011
Сообщений: 18
20.11.2011, 22:16     Вычислить длину медианы(С код) #1
Заданы вершины треугольника А(х1,у1),В(х2,у2),С(х3,у3).Вычислить длину медианы,проведенной из выбранной вершины треугольника.Выбор вершин треугольника осуществляется пользователем.помогите пожалуста.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
20.11.2011, 22:22     Вычислить длину медианы(С код) #2
petvcal, формулу нам тоже за вас выводить/искать?
petvcal
0 / 0 / 0
Регистрация: 08.04.2011
Сообщений: 18
20.11.2011, 22:27  [ТС]     Вычислить длину медианы(С код) #3
написать формулу? D=sqrt((X1-X2)^2 + (Y1-Y2)^2) вот.
Петррр
 Аватар для Петррр
5917 / 3354 / 333
Регистрация: 28.10.2010
Сообщений: 5,926
20.11.2011, 23:15     Вычислить длину медианы(С код) #4
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
 
struct point
{
    float x;
    float y;
};
 
int main(void)
{
    struct point a, b, c;
    struct point d;
    char selected_point = 'b';
 
    double w_a, w_b, w_c;
 
    double width = 0.0;
    
    printf("A(x): ");
    scanf("%f", &a.x);
    printf("A(y): ");
    scanf("%f", &a.y);
 
    printf("B(x): ");
    scanf("%f", &b.x);
    printf("B(y): ");
    scanf("%f", &b.y);
 
    printf("C(x): ");
    scanf("%f", &c.x);
    printf("C(y): ");
    scanf("%f", &c.y);
 
    w_a = sqrt(pow(c.x - b.y, 2.0f) + pow(c.y - b.y, 2.0f));
    w_b = sqrt(pow(a.x - c.x, 2.0f) + pow(a.y - c.y, 2.0f));
    w_c = sqrt(pow(a.x - b.x, 2.0f) + pow(a.y - b.y, 2.0f));
 
    if ((w_a + w_b <= w_c) || (w_a + w_c <= w_b) || (w_b + w_c <= w_a))
    {
        printf("You entered invalid points\n");
        system("pause");
        return EXIT_SUCCESS;
    }
 
    printf("Enter point a, b or c: ");
    getchar();
    scanf("%c",  &selected_point);
        
    switch (selected_point)
    {
    case 'a':
        d.x = (b.x + c.x) / 2.0f;
        d.y = (b.y + c.y) / 2.0f;
        width = sqrt (pow(a.x - d.x, 2.0f) + pow(a.y - d.y, 2.0f));
        break;
    case 'b':
        d.x = (a.x + c.x) / 2.0f;
        d.y = (a.y + c.y) / 2.0f;
        width = sqrt(pow(b.x - d.x, 2.0f) + pow(b.y - d.y, 2.0f));
        break;
    case 'c':
        d.x = (a.x + b.x) / 2.0f;
        d.y = (a.y + b.y) / 2.0f;
        width = sqrt(pow(c.x - d.x, 2.0f) + pow(c.y - d.y, 2.0f));
        break;
    default:
        printf("Point '%c' does not exist\n", selected_point);
        system("pause");
        return EXIT_SUCCESS;
    }
    printf("Width of median: %.2f\n", width);
    system("pause");
    return EXIT_SUCCESS;
}
petvcal
0 / 0 / 0
Регистрация: 08.04.2011
Сообщений: 18
20.11.2011, 23:16  [ТС]     Вычислить длину медианы(С код) #5
Спасибо большое!
Yandex
Объявления
20.11.2011, 23:16     Вычислить длину медианы(С код)
Ответ Создать тему
Опции темы

Текущее время: 09:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru