Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Slosh
0 / 0 / 0
Регистрация: 27.02.2011
Сообщений: 4
#1

Программа на Си. Геометрическая - C++

04.07.2011, 20:38. Просмотров 397. Ответов 1
Метки нет (Все метки)

Подсчитать количество равносторонних треугольников с различными длинами оснований и вершинами в заданном множестве точек на плоскости.

http://www.cyberforum.ru/cpp-beginners/thread316618.html
Добавлено через 22 часа 4 минуты
помогите пожайлуста, очень надо...
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.07.2011, 20:38
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Программа на Си. Геометрическая (C++):

геометрическая программа (С++)
Добрый день ув. форумчане от студентов первого курса. Недавно преподаватель дал...

Геометрическая фигура
Как , если дано уравнение двумя переменными, изобразить фигуру? Напишите код...

Геометрическая фигура
Постановка задачи. Разработать программу, которая выводит на экран...

Геометрическая прогрессия
Помогите написать программу, которая вычисляет сумму элементов геометрической...

геометрическая прогрессия
Составить программу, которая считает члены геометрической прогрессии (N),...

1
Dzhej-Dzhej
Заблокирован
05.07.2011, 13:29 #2
Лучший ответ Сообщение было отмечено Slosh как решение

Решение

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
#include <math.h>
#include <iostream>
using namespace std;
struct Point
{
    double X;
    double Y;
};
int main()
{
    const int c=5;//количество точек
    double delta=0.000001;
    Point *p = new Point[c];
    p[0].X = 0.0; p[0].Y = 1.0;
    p[1].X = 0.866025; p[1].Y = -0.5;
    p[2].X = -0.866025; p[2].Y = -0.5;
    p[3].X = 1; p[3].Y = -1;
    p[4].X = 0; p[4].Y = -2;
    int count = 0;
    for(int i = 0; i < c - 2; i++)
        for(int j = i + 1; j < c; j++)
            for(int k = j + 1; k < c; k++)
                if(j < k)
                {//убрать, это для проверки
                    double a=sqrt(pow(p[i].X - p[j].X,2) + pow(p[i].Y - p[j].Y,2));//убрать, это для проверки
                    double b=sqrt(pow(p[k].X - p[j].X,2) + pow(p[k].Y - p[j].Y,2));//убрать, это для проверки
                    double c=sqrt(pow(p[k].X - p[i].X,2) + pow(p[k].Y - p[i].Y,2));//убрать, это для проверки
                    cout << a << endl;//убрать, это для проверки
                    cout << b << endl;//убрать, это для проверки
                    cout << c << endl;//убрать, это для проверки
                    if((abs(a-b) < delta) && (abs(a-c) < delta)) ++count;//эта строка нужна!!!!!!!!!!!!
                    cout << count << endl; //убрать, это для проверки
                    cout << endl;//убрать, это для проверки
                }//убрать, это для проверки
    cout << count << endl; 
    system("pause");
    return 0;
}
delta=0.000001; - пришлось ввести погрешность для чисел с плавающей запятой

PS: на срр не пишу уже несколько лет, написАл ради спортивного интереса, так что не сильно критикуйте
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.07.2011, 13:29
Привет! Вот еще темы с решениями:

Геометрическая задача
Дан квадрат (длина стороны и координаты левого верхнего угла) и треугольник...

Геометрическая прогрессия
Задача: Дано N десятоков целых чисел. Определить, сколько из них могут...

Геометрическая прогрессия
Геометрическая прогрессия У вас есть действительное число и натуральное число...

Рекурсия и геометрическая прогрессия в C
Даны первый член и знаменатель геометрической прогрессии. Описать рекурсивную...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru