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

Найти sin - C++

Восстановить пароль Регистрация
 
Oddos
0 / 0 / 0
Регистрация: 04.12.2013
Сообщений: 4
04.12.2013, 15:36     Найти sin #1
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
#include "stdafx.h"
#include <iostream>                                    // для оператора cout
#include <cmath>                                       // для функции sin
#include <stdio.h>
#include <clocale> 
 
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL , "Russian");
    setlocale(LC_ALL , "rus");
 
    int x = 0, y = 0 ;
 
    printf("Программа для вычесления синуса угла.\n");
    printf("Введите кол-во градусов в радианах: ");
 
    scanf("%d", &x);
 
    y = sin(x);
 
    printf("Sin %d =%.2d\n",x,y);
 
    getchar() ;  
    getchar() ;
    return 0;
}
Собственно хотелось бы узнать как правильно написать функцию синуса

Само задание звучит так :
Напишите программу, которая вычисляет синус угла, значение которого вводится с
клавиатуры в градусах.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
castaway
Эксперт С++
4844 / 2983 / 367
Регистрация: 10.11.2010
Сообщений: 11,015
Записей в блоге: 10
Завершенные тесты: 1
04.12.2013, 15:54     Найти sin #2
double y = sin( x / 360. * 3.14159 * 2 );
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
04.12.2013, 15:56     Найти sin #3
Перевести из градусов в радианы (т.е. поделить на 180.0 и умножить на PI) и подставить аргументом в sin()

Добавлено через 1 минуту
castaway, что-то пи какое-то зашкаливает на втором знаке после запятой
P.S. Уже пофиксил.
castaway
Эксперт С++
4844 / 2983 / 367
Регистрация: 10.11.2010
Сообщений: 11,015
Записей в блоге: 10
Завершенные тесты: 1
04.12.2013, 16:07     Найти sin #4
С телефона не удобно. Пальцы толстые, кнопки узкие..
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
04.12.2013, 16:15     Найти sin #5

Не по теме:

Цитата Сообщение от castaway Посмотреть сообщение
Пальцы толстые, кнопки узкие..
Вспоминается серия из The Simpsons: "Надавите ладонью на клавиатуру и Вам доставят палочки для набирания номера"



Добавлено через 5 минут
Кстати, у ТС ничерта не получится, т.к. y должен быть double. И в принтф нужно %lf вместо %.2d. А
Цитата Сообщение от Oddos Посмотреть сообщение
кол-во градусов в радианах
вообще смешно
Oddos
0 / 0 / 0
Регистрация: 04.12.2013
Сообщений: 4
04.12.2013, 16:16  [ТС]     Найти sin #6
Ребзи можете помочь,где я сделал ошибку ?программа не пашет

Добавлено через 42 секунды
Цитата Сообщение от Tulosba Посмотреть сообщение

Не по теме:


Вспоминается серия из The Simpsons: "Надавите ладонью на клавиатуру и Вам доставят палочки для набирания номера"



Добавлено через 5 минут
Кстати, у ТС ничерта не получится, т.к. y должен быть double. И в принтф нужно %lf вместо %.2d. А

вообще смешно
Уже исправил про градусы в радианах)))самому стремно стало что такое написал
Tulosba
04.12.2013, 16:22
  #7

Не по теме:

Цитата Сообщение от Oddos Посмотреть сообщение
самому стремно стало что такое написал
а "вычесления" не стрёмно?

Oddos
0 / 0 / 0
Регистрация: 04.12.2013
Сообщений: 4
04.12.2013, 16:25  [ТС]     Найти sin #8
Цитата Сообщение от Tulosba Посмотреть сообщение

Не по теме:


а "вычесления" не стрёмно?

)))Поможешь?)скажи где исправить?)
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
#include "stdafx.h"
#include <iostream>                                    // для оператора cout
#include <cmath>                                       // для функции sin
#include <stdio.h>
#include <clocale>
#define PI 3.14159265 
 
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL , "Russian");
    setlocale(LC_ALL , "rus");
 
    int x = 0, y = 0;
    
 
    printf("Программа для вычисления синуса угла.\n");
    printf("Введите кол-во градусов: ");
 
    scanf("%d", &x);
 
    double y =  sin( x /360 * PI * 2  );
 
    printf("Sin %d =%lf\n",x);  
 
    
    getchar() ;  
    getchar() ;
    return 0;
}
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
04.12.2013, 16:30     Найти sin #9
Цитата Сообщение от Oddos Посмотреть сообщение
скажи где исправить?)
Ну а что компилятор ничего не говорит про переопределение переменной y?
Деление x/360 целочисленное. Думаешь, castaway просто так написал 360. (т.е. с точкой на конце)?
Oddos
0 / 0 / 0
Регистрация: 04.12.2013
Сообщений: 4
04.12.2013, 16:50  [ТС]     Найти sin #10
Цитата Сообщение от Tulosba Посмотреть сообщение
Ну а что компилятор ничего не говорит про переопределение переменной y?
Деление x/360 целочисленное. Думаешь, castaway просто так написал 360. (т.е. с точкой на конце)?
Можно поконкретнее,только сегодня сел за C++
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.12.2013, 19:12     Найти sin
Еще ссылки по теме:

Найти точки экстремума sin(x) на заданном интервале C++
C++ Подскажите как написать в С++: Вывести «столбиком» значения sin 0,l, sin 0,2, ., sin l,l
Вычислить выражение sin(sin(sin...(x))...) C++

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

Или воспользуйтесь поиском по форуму:
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
04.12.2013, 19:12     Найти sin #11
Oddos, при делении целых чисел результат целое число. Чтобы получить вещественное, хотя бы один из аргументов должен быть вещественным.
Yandex
Объявления
04.12.2013, 19:12     Найти sin
Ответ Создать тему
Опции темы

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