ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила
вернуться в форум

Обсуждение задачи 1084. Пусти козла в огород

I soon started to use C++ and I don't know why comperror???Please....
Послано Vlado C++ 13 янв 2002 18:47
#include <stdio.h>
#include <math.h>
void main(){
double r,a,s,angl,cosa;
scanf("%lf %lf",&a,&r);
if (2*r<a) s=M_PI*r*r;
else if (sqrt(2)*r>a) s=a*a;
else{
  cosa=a/(2*r);
  angl=2*acos(cosa);
  angl=M_PI/2-angl;
  s=((a/2)*sqrt(r*r-(a*a)/4))+angl*r*r/2;
  }
printf("%.3lf\n",4*s);
}
I think that the problem is in M_PI........ Maybe their compiler doesn't support this constant, or at least it has a different name
Послано Algorist 14 янв 2002 00:45
> #include <stdio.h>
> #include <math.h>
> void main(){
> double r,a,s,angl,cosa;
> scanf("%lf %lf",&a,&r);
> if (2*r<a) s=M_PI*r*r;
> else if (sqrt(2)*r>a) s=a*a;
> else{
>   cosa=a/(2*r);
>   angl=2*acos(cosa);
>   angl=M_PI/2-angl;
>   s=((a/2)*sqrt(r*r-(a*a)/4))+angl*r*r/2;
>   }
> printf("%.3lf\n",4*s);
> }
Re: I soon started to use C++ and I don't know why comperror???Please....
Послано - GO - 21 окт 2005 13:39
i think my reply was too late. but for other people.
when using sqrt(2) or something which arguments are not integer, you should use -> sqrt(2.0) instead.
Re: I soon started to use C++ and I don't know why comperror???Please....
Послано Igor Pron 28 окт 2005 17:30
sqrt(2) ==> sqrt(2.0)
Thank you very much!!! I'd reciiving :"compilation error"...
But now all O.K.! ))