Задачка по С... хелп!

Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain

Ответить
Аватара пользователя
ShwilyIgor
Сообщения: 22
Зарегистрирован: 19 дек 2007, 22:22
Откуда: Украина

Задачка по С... хелп!

Сообщение ShwilyIgor » 20 дек 2007, 22:52

Написать программу, которая выводит на экран таблицу синусов для значений аргумента в диапазоне от 0 до (пи/2) с шагом 2.
...
Не пойму как это сделать. Кто знает - помогите плиз. :(
:confused:

Аватара пользователя
WinMain
Сообщения: 912
Зарегистрирован: 14 янв 2005, 10:30
Откуда: Москва
Контактная информация:

Re: Задачка по С... хелп!

Сообщение WinMain » 21 дек 2007, 11:39

Пи/2 - это 180 градусов.

это будет выглядеть примерно так...

Код: Выделить всё

for (int i = 0; i <= 180; i += 2)
{
  printf("%3d - %.4f\n", i, sin(i));
}
Приглашаю на свой сайт http://winmain.org

BBB
Сообщения: 1272
Зарегистрирован: 27 дек 2005, 13:37

Градусы или радианы?

Сообщение BBB » 21 дек 2007, 12:04

ShwilyIgor писал(а):Написать программу, которая выводит на экран таблицу синусов для значений аргумента в диапазоне от 0 до (пи/2) с шагом 2.
Странное условие. Раз уж в первой части задачи единица измерения - радианы (коли присутствует пи/2), то логично было бы, что и во всей оставшейся задачи придерживаться этой же самой "системы единиц". Т.е. 2 - тоже в радианах. Но в этом случае "суммарно" получается бред, так как (пи/2 < 2).
WinMain писал(а):Пи/2 - это 180 градусов.
Таки, 90 градусов :) Полный круг - это 2*пи радиан.

Ну и, плюс, СИ-шная ф-я sin параметр требует в радианах. Т.е., если, все-таки, шаг мерять в "две градуса", то при вызове sin надо делать обратное преобразование.

Код: Выделить всё

for (int i_grad = 0; i_grad <= 90; i_grad += 2)
{
   .........
     sin (pi * i_grad / 180);
   .........
}

Аватара пользователя
Romeo
Сообщения: 3091
Зарегистрирован: 02 мар 2004, 17:25
Откуда: Крым, Севастополь
Контактная информация:

Re: Задачка по С... хелп!

Сообщение Romeo » 21 дек 2007, 12:05

Функция sin поринимает значение в радианах. Так что поправка:

Код: Выделить всё

sin(i*PI/180)
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.

Аватара пользователя
ShwilyIgor
Сообщения: 22
Зарегистрирован: 19 дек 2007, 22:22
Откуда: Украина

Re: Задачка по С... хелп!

Сообщение ShwilyIgor » 21 дек 2007, 16:28

спасибо! задачка вроде вышла :)

Ответить