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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 128, средняя оценка - 4.91
Рус777
17 / 17 / 1
Регистрация: 25.01.2009
Сообщений: 63
#1

Определить периметр правильного n-угольника, описанного около окружности радиуса r - C++

03.10.2009, 12:21. Просмотров 16293. Ответов 13
Метки нет (Все метки)

Определить периметр правильного n-угольника, описанного около окружности радиуса r
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.10.2009, 12:21     Определить периметр правильного n-угольника, описанного около окружности радиуса r
Посмотрите здесь:

C++ Вычислить длины вписанного и описанного около треугольника круга
C++ Определить окружность минимального радиуса, такую, чтобы она включала в себя все заданные окружности
C++ Определить взаимное расположение точки с координатами (х0,y0) и окружности радиуса R с центром в точке (х1,у1)
C++ Составить программу, содержащую функцию, которая рассчитывает площадь и периметр правильного шестиугольника
Вычислить длину стороны правильного 48-угольника C++
C++ Определить радиус и центр окружности минимального радиуса, проходящей хотя бы через три различные точки заданного множества точек на плоскости
Определить радиус и центр окружности минимального радиуса, проходящей хотя бы через три различные точки заданного множества точук на плоскости C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
R0mm
Псевдо программист
192 / 113 / 15
Регистрация: 19.09.2009
Сообщений: 303
03.10.2009, 12:27     Определить периметр правильного n-угольника, описанного около окружности радиуса r #2
и?
AltPeople
10 / 10 / 1
Регистрация: 25.09.2008
Сообщений: 73
03.10.2009, 13:01     Определить периметр правильного n-угольника, описанного около окружности радиуса r #3
тебе конечную формулу только, или с объяснением всего алгоритма?
конечная формула периметра:
P=2*r*n*sin(2*pi/n)/sin(pi*(n-2)/2*n)

вроде так, если ничего не напутал
сейчас допечатаю объяснение
valeriikozlov
Эксперт C++
4663 / 2489 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
03.10.2009, 13:12     Определить периметр правильного n-угольника, описанного около окружности радиуса r #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
#include <iostream.h>
#include <Windows.h>
#include <iomanip>
#include <math.h>
 
#define M_PI       3.14159265358979323846
int n;
double r, p;
int main()
{
        SetConsoleCP(1251);
        SetConsoleOutputCP(1251);
 vvod:
        cout<<"Ââåäèòå êîëè÷åñòâî ñòîðîГ* Г¬Г*îãîóãîëüГ*ГЁГЄГ*\n";
        cin>>n;
        if(n<3)
        {
                cout<<"×èñëî ñòîðîГ* Г¬Г*îãîóãîëüГ*ГЁГЄГ* äîëæГ*Г® áûòü áîëåå 2\n";
                goto vvod;
        } 
        cout<<"Ââåäèòå Г°Г*äèóñ ГўГЇГЁГ±Г*Г*Г*îé îêðóæГ*îñòè\n";
        cin>>r;
        p=2*r*n*(tan(M_PI/n));
        cout<<"Ïåðèìåòð ГЇГ°Г*âèëüГ*îãî "<<n<<"-óãîëüГ*ГЁГЄГ* Г°Г*ГўГҐГ*: "<<p<<endl;
        system("pause");
        return 0;
}
AltPeople,
Думаю что в формуле что-то напутал. При вводе n=5 и к=2 получается отрицательное число.
AltPeople
10 / 10 / 1
Регистрация: 25.09.2008
Сообщений: 73
03.10.2009, 13:21     Определить периметр правильного n-угольника, описанного около окружности радиуса r #5
звыняйте, ошибся
исправил
P=2*r*n*sin(pi/n)*sin(pi*(n-2)/2*n)
после доработки
P=2*r*n*sin(pi/n)*cos(pi/n)
теперь вроде все ок
valeriikozlov
Эксперт C++
4663 / 2489 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
03.10.2009, 13:31     Определить периметр правильного n-угольника, описанного около окружности радиуса r #6
AltPeople,
И с этой формулой при вводе n=5 и r=2 получается отрицательное число
после доработки получается положительное число, но с кодом написаным мною результат не совпадает.
AltPeople
10 / 10 / 1
Регистрация: 25.09.2008
Сообщений: 73
03.10.2009, 13:43     Определить периметр правильного n-угольника, описанного около окружности радиуса r #7
отрицательное не может быть т.к. (pi/5) лежит в первой четверти, где синусы и косинусы больше 0.
ладно сейчас сам проверю

Добавлено через 6 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include "stdafx.h"
#include <iostream>
using namespace std;
#include <math.h>
 
 
int main()
{
    double r,p;
    int n;
    cin>>r>>n;
    p=2*r*n*sin(3.14/n)*cos(3.14/n);
    cout<<"p = "<<p<<endl;
    return 0;
}
n=5, r =2, p = 9.50859
valeriikozlov
Эксперт C++
4663 / 2489 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
03.10.2009, 13:45     Определить периметр правильного n-угольника, описанного около окружности радиуса r #8
AltPeople,
Я же писал до Вашей доработки, и писал что результат отрицательный, но после увидев что Вы добавили:
Цитата Сообщение от AltPeople Посмотреть сообщение
после доработки
P=2*r*n*sin(pi/n)*cos(pi/n)
проверил и тоже добавил:
"после доработки получается положительное число, но с кодом написаным мною результат не совпадает."
AltPeople
10 / 10 / 1
Регистрация: 25.09.2008
Сообщений: 73
03.10.2009, 14:10     Определить периметр правильного n-угольника, описанного около окружности радиуса r #9
а у Вас какая конечная формула получается?

Добавлено через 12 минут
таки p=2*r*n*tan(3.14/n); и будет правильный вариант

зы пятница удалась, голова с утра плохо работает)))))
valeriikozlov
Эксперт C++
4663 / 2489 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
03.10.2009, 15:03     Определить периметр правильного n-угольника, описанного около окружности радиуса r #10
Нашел формулу по поиску в инете: сторона правильного многоугольника a=2*r*tan(p/n), где r - радиус вписанной окружности в многоугольник, n - количество сторон многоугольника
AltPeople
10 / 10 / 1
Регистрация: 25.09.2008
Сообщений: 73
03.10.2009, 15:33     Определить периметр правильного n-угольника, описанного около окружности радиуса r #11
я просто сам выводил формулу)))
gather
1 / 1 / 0
Регистрация: 03.10.2009
Сообщений: 8
04.10.2009, 00:05     Определить периметр правильного n-угольника, описанного около окружности радиуса r #12
для проверки используйте значения:
количество углов - 4;
радиус - sqrt(2);
периметр - тогда должен быть - 4;
valeriikozlov
Эксперт C++
4663 / 2489 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
04.10.2009, 09:09     Определить периметр правильного n-угольника, описанного около окружности радиуса r #13
gather,
Вообще-то периметр в Вашем примере равен 11,3137.
Для квадрата (а в Вашем примере именно он приводится), периметр равен: радиус вписанной окружности умножить на 8.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.10.2009, 09:19     Определить периметр правильного n-угольника, описанного около окружности радиуса r
Еще ссылки по теме:

Лежит ли треугольник внутри окружности радиуса R C++
C++ Найти площадь вписанного в окружность радиуса R неправильного 10-угольника
C++ Найти площадь вписанного в окружность радиуса R неправильного 10-угольника
Функция вычисляющая радиус окружности описанной вокруг правильного многоугольника C++
Вычислить периметр n-угольника с заданным количеством вершин C++

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

Или воспользуйтесь поиском по форуму:
gather
1 / 1 / 0
Регистрация: 03.10.2009
Сообщений: 8
04.10.2009, 09:19     Определить периметр правильного n-угольника, описанного около окружности радиуса r #14
Цитата Сообщение от valeriikozlov Посмотреть сообщение
gather,
Вообще-то периметр в Вашем примере равен 11,3137.
Для квадрата (а в Вашем примере именно он приводится), периметр равен: радиус вписанной окружности умножить на 8.
да, признаю свою ошибку и прошу не бить ногами
я перепутал вписаную и описаную окружность
Yandex
Объявления
04.10.2009, 09:19     Определить периметр правильного n-угольника, описанного около окружности радиуса r
Ответ Создать тему
Опции темы

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