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

Определить вид треугольника по координатам вершин - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Vector и String http://www.cyberforum.ru/cpp-beginners/thread734915.html
Доброго времени суток. Прошу прощения за, скорее всего, часто повторяющийся вопрос, но не могли бы вы мне помочь с одним моментом: Допустим, у меня есть инициализированный вектор vector<string> smas из n строк. Задание звучит так: посчитайте сумму ASCII кодов всех символов строки и поменяйте местами строки, имеющие наибольшую сумму кодов.
C++ Данные двух треугольников, у которых находилась бы площадь и сравнивалась Надо написать С++ такую задачу чтобы в неё вводились данные двух треугольников у которых находилась бы площадь и сравнивалась.а в конце выводились эти треугольники на экран. немогу найти ошибкуКод C++ #include <iostream> #include <math.h> #include <graphics.h> using namespace std; double S( int a, int b, int c ) { double p = (a+b+c)/2; http://www.cyberforum.ru/cpp-beginners/thread734911.html
Даны три числа a,b,c. Определить какое из них равно d C++
Не могу понять как можно это написать на C++ Даны три числа a,b,c. Определить какое из них равно d. Если ни одно не равно d то найти мах (d-a, d-b, d-c)
Требуется перевернуть слова, не могу найти ошибку C++
Переворачивает только первое слово. Как сделать,чтобы переворачивало каждое слово? Пример. На вход - "раз два". На выход - "зар авд" Гугл советовал использовать strtok, но разобраться с ее принципом работы у меня не получилось Помогите, пожалуйста #include "stdafx.h" #include <string.h> int main () { char a; printf("Input string: ");
C++ Надо что бы цикл закрывался при нажатии клавиши, но само нажатие не требовалось http://www.cyberforum.ru/cpp-beginners/thread734875.html
Мне нужно кое что сделать с циклом (DEV C++!!). Надо что бы цикл закрывался при нажатии клавиши, но само нажатие не требовалось (не было обязательным). Помогите пжл)
C++ В произвольной матрице A [ N ][ M ] поменять местами в каждой строке минимальный и максимальный элементы Здраствуйте,помогите пожалуйста с кодом для данной задачи: В произвольной матрице A поменять местами в каждой строке минимальный и максимальный элементы. подробнее

Показать сообщение отдельно
v.a.l.i.d
 Аватар для v.a.l.i.d
412 / 377 / 10
Регистрация: 21.09.2012
Сообщений: 913
17.12.2012, 14:59     Определить вид треугольника по координатам вершин
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
#include "stdafx.h"
#include "iostream"
using namespace std;
 
// точка
struct Point
{
    double x;
    double y;
};
 
// площадь треугольника
double Square(double a, double b, double c)
{
    double p = (a+b+c) / 2.0;
    return sqrt(p*(p-a)*(p-b)*(p-c));
}
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "Russian");
 
    const double epsilon = 0.0000001;
    Point A, B, C;              // координаты трех точек
    double l1, l2, l3;          // длины сторон треугольника
 
    cout << "Введите координаты первой точки [x, y]:  ";    cin >> A.x >> A.y;
    cout << "Введите координаты второй точки [x, y]:  ";    cin >> B.x >> B.y;
    cout << "Введите координаты третьей точки [x, y]: ";    cin >> C.x >> C.y;
 
    l1 = sqrt(abs((B.x-A.x)*(B.x-A.x)) + abs((B.y-A.y)*(B.y-A.y)));
    l2 = sqrt(abs((C.x-A.x)*(C.x-A.x)) + abs((C.y-A.y)*(C.y-A.y)));
    l3 = sqrt(abs((C.x-B.x)*(C.x-B.x)) + abs((C.y-B.y)*(C.y-B.y)));
 
    cout << "l1 = " << l1 << endl;
    cout << "l2 = " << l2 << endl;
    cout << "l3 = " << l3 << endl;
 
    if (l1<l2+l3 && l2<l1+l3 && l3<l1+l2)   // если треугольник
    {
        if (abs(l1-l2)<=epsilon && abs(l2-l3)<=epsilon) cout << "Равносторонний" << endl;
        else if (abs(l1-l2)<=epsilon || abs(l1-l3)<=epsilon || abs(l2-l3)<=epsilon) cout << "Равнобедренный" << endl;
        else cout << "Разносторонний" << endl;
 
        double S = Square(l1, l2, l3);                  // площадь
        double arr_h[3] = {2*S/l1, 2*S/l2, 2*S/l3};     // высоты треугольника
        
        // упорядочить высоты в порядке возрастания
        for (int i=0; i<2; i++)
            for (int j=i+1; j<3; j++)
                if (arr_h[j] < arr_h[i])
                {
                    double tmp = arr_h[j];
                    arr_h[j] = arr_h[i];
                    arr_h[i] = tmp;
                }
 
        // печать высот в порядке возрастания
        for (int i=0; i<3; i++)
            cout << arr_h[i] << " ";
        cout << endl;
 
    }
    else
        cout << "Не треугольник" << endl;
 
    
    cout << endl;
    system("pause");
    return 0;               
}
35, 36 и 37 строчку можно убрать. это просто для проверки длин сторон
Миниатюры
Определить вид треугольника по координатам вершин  
 
Текущее время: 05:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru