Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Hi4ko
74 / 74 / 4
Регистрация: 21.10.2010
Сообщений: 376
#1

чистая геометрия, но заваливается( - C++

28.09.2011, 18:32. Просмотров 1062. Ответов 2
Метки нет (Все метки)

http://acm.timus.ru/problem.aspx?space=1&num=1084

Козла пустили в квадратный огород и привязали к колышку. Колышек воткнули точно в центре огорода. Козёл голоден, как волк, прожорлив, как бык, и ест всё, до чего дотянется, не перелезая через забор и не разрывая веревку. Какая площадь огорода будет объедена?

Исходные данные
Длина стороны огорода и длина верёвки в метрах (положительные целые числа, не превосходящие 100, расположенные в одной строке через пробел).
Результат

Площадь части огорода (в квадратных метрах, с точностью до 3 знаков после десятичной точки), объеденной козлом.

Пример
исходные данные
10 6
результат
95.091
мой код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <cmath>
#include <iomanip>
#define PI 3.14159265
using namespace std;
int main()
{
    double a, r,z,angle,angleokr,square;
    cin>>a>>r;
    if(r<=a/2)
        cout<<fixed<<setprecision(3)<<PI*r*r<<endl;
    else
    if(r>=a/sqrt(2.0))
        cout<<fixed<<setprecision(3)<<a*a<<endl;
    else
    {
        z=sqrt(r*r-(a*a/4));
        angle=atan(z/(a*0.5))* 180.0 / PI;
        angleokr=90.0-2*angle;
        square=4*(z*(a/2)+PI*r*r*(angleokr/360.0));
        cout<<fixed<<setprecision(3)<<square<<endl;
    }
}
Заваливает на 2 тесте. Почему? Где ошибка?

Добавлено через 1 минуту
Удаляйте тему, поспешил. В 12 строчке вместо PI я сначала 3.14 написал просто
Извините, администрация
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.09.2011, 18:32
Здравствуйте! Я подобрал для вас темы с ответами на вопрос чистая геометрия, но заваливается( (C++):

Чистая виртуальная функция - C++
Скажите, может ли чистая виртуальная функция иметь тело? В книге написано что может, но не написано как. Пытался сам определить по-разному...

Обработка изображений, чистая математик + Си++ | for newbie - C++
Сижу я за ноутом. А тачпад всё не работает: Вы не представляете, какие это вызывает неудобства, например, в метро. Пытался пересесть на...

Чистая виртуальная функция функция не имеет оператора переопределения - C++
Пишу программу для записи заметок. Есть 2 класса: Page и Note. Note наследуется от Page. Page.h #pragma once ...

Ошибка "Чистая виртуальная функция" - C++
Собственно проблема: Header.h: interface IParrent{ void chtotoDelat(); }; interface IChild : public IParrent{ //методы...

геометрия - C++
Решите пожалуйста, ребят ( Решить задачу, используя структуру point для хранения координат точки: Найти такую точку, сумма расстояний...

Геометрия - C++
Г Е О М Е Т Р И Ч Е С К И Е З А Д А Ч И -&gt; Здесь выкладываем условия и/или решения геометрических задач &lt;-

2
Deviaphan
Делаю внезапно и красиво
Эксперт С++
1306 / 1221 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
28.09.2011, 18:33 #2
Округление происходит не до ближайшего, а усекается. Сделай округление ручками.
0
Hi4ko
74 / 74 / 4
Регистрация: 21.10.2010
Сообщений: 376
28.09.2011, 19:26  [ТС] #3
Цитата Сообщение от Deviaphan Посмотреть сообщение
Округление происходит не до ближайшего, а усекается. Сделай округление ручками.
я говорю, что я уже всё исправил. Написал уже)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.09.2011, 19:26
Привет! Вот еще темы с ответами:

Геометрия в С++. - C++
Здравствуйте. Помогите решить задчу: &quot;Даны два множества точек на плоскости. Найти радиус и центр окружности, проходящей через n (n&gt;=3)...

Геометрия в С++ - C++
Даны две вершины прямоугольного треугольника A,B,так же известны угол A и угол B.Нужно найти третью вершину треугольника.Пробывал решать...

геометрия - C++
:help::help: Даны действительные числа x, y. Вычислить расстояние от точки плоскости с координатами (x, y) до границы квадрата * с...

Простая геометрия - C++
Недавно решал пачку задач на геометрию, но с одной не справился, даже сейчас не выходит. Постановка: Дан выпуклый многоугольник...


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

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

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