Форум программистов, компьютерный форум 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, 12:00     Определить вид треугольника по координатам вершин
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
#include <iostream>
#include <cmath>
using namespace std;
 
// точка
struct Point
{
    int x;
    int 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 main()
{
    setlocale(LC_ALL, "Russian");
 
    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(double((B.x-A.x)*(B.x-A.x) + (B.y-A.y)*(B.y-A.y)));
    l2 = sqrt(double((C.x-A.x)*(C.x-A.x) + (C.y-A.y)*(C.y-A.y)));
    l3 = sqrt(double((C.x-B.x)*(C.x-B.x) + (C.y-B.y)*(C.y-B.y)));
 
    if (l1<l2+l3 && l2<l1+l3 && l3<l1+l2)   // если треугольник
    {
        if (l1==l2 && l2==l3) cout << "Равносторонний" << endl;
        else if (l1==l2 || l1==l3 || l2==l3) 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;
 
 
    system("pause");
    return 0;                   
}
 
Текущее время: 17:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru