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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 53, средняя оценка - 4.74
fargat
0 / 0 / 0
Регистрация: 06.12.2011
Сообщений: 16
#1

Дано натуральное число N. Вычислить S=1/sin1+1/sin1+sin2+1/sin1+sin2+...sinN. - C++

06.12.2011, 14:36. Просмотров 6767. Ответов 31
Метки нет (Все метки)

Дано натуральное число N. Вычислить S=1/sin1+1/sin1+sin2+1/sin1+sin2+...sinN.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.12.2011, 14:36     Дано натуральное число N. Вычислить S=1/sin1+1/sin1+sin2+1/sin1+sin2+...sinN.
Посмотрите здесь:

C++ Вычислить (1-sin0.1)+(1+sin0.2)+...+(1+sin1.0).
C++ Дано натуральное число N. вычислить
C++ Дано натуральное число n. Вычислить:
C++ Напечатать столбиком значения sin2,sin3,...,sin20
Дано вещественное число а и натуральное число n. Вычислить а^1,a^2,a^3,..a^n. Операцию возведения в степень не использовать C++
Вычислить значение выражения: y=sin1+sin1.1+sin1.2+...+sin2; C++
C++ Дано натуральное число N и вещественное число x. Вычислить частичную сумму ряда.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
-=ЮрА=-
Заблокирован
Автор FAQ
06.12.2011, 15:16     Дано натуральное число N. Вычислить S=1/sin1+1/sin1+sin2+1/sin1+sin2+...sinN. #2
Как то так
C++
1
2
3
4
5
double S = 0;
for(long i = 1; i <= N; i++)
{
      S += (1/sin(i) + sin(i));
}
Я формулу из задания не понял, у меня реализация 1/sin(1) + sin(1) + 1/sin(2) + sin(2)...
go
Эксперт C++
3585 / 1365 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
06.12.2011, 15:46     Дано натуральное число N. Вычислить S=1/sin1+1/sin1+sin2+1/sin1+sin2+...sinN. #3
fargat, уточните формулу общего члена ряда
-=ЮрА=-, функция синус прегружена
C
1
S += (1/sin( (double) i) + sin( (double) i));
-=ЮрА=-
Заблокирован
Автор FAQ
06.12.2011, 17:48     Дано натуральное число N. Вычислить S=1/sin1+1/sin1+sin2+1/sin1+sin2+...sinN. #4
Цитата Сообщение от go Посмотреть сообщение
функция синус прегружена
- ну перегруженна и зачем явное преобразование делаешь???Умник

Добавлено через 2 минуты
go, по твоему если я имею функцию double fun(double x); и в программе сделаю так
int a = 5;
double val = fun(a); - она работать не будет

Добавлено через 11 минут
go, это чтобы подучился уму разуму
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <cmath>
using namespace std;
 
int main()
{
    cout<<"Enter a : ";
    int a;cin>>a;
    cout<<"sin("<<a<<") = "<<sin(a)<<endl;
    system("pause");
    return 0;
}
Enter a : 5
sin(5) = -0.958924
Для продолжения нажмите любую клавишу . . .

PS:Впредь постарайся писать по сути, вижу у тебя задатки асса - ну тогда хоть им соответсвуй в постах!
go
Эксперт C++
3585 / 1365 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
06.12.2011, 17:57     Дано натуральное число N. Вычислить S=1/sin1+1/sin1+sin2+1/sin1+sin2+...sinN. #5
-=ЮрА=-, сравните
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
#include <iostream>
 
using namespace std;
 
void fun (int a)
{
    cout << "1";
}
 
void fun (double a)
{
    cout << "2";
}
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    int a;
 
    fun (a);
    
        fun ( (double) a);
 
    return 0;
}
Добавлено через 7 минут
Существует 3 функции синуса в С++
C++
1
2
3
double sin (      double x );
      float sin (       float x );
long double sin ( long double x );
В С существует только первая
-=ЮрА=-
Заблокирован
Автор FAQ
06.12.2011, 18:02     Дано натуральное число N. Вычислить S=1/sin1+1/sin1+sin2+1/sin1+sin2+...sinN. #6
go, у тебя всё в порядке???А то я думаю что нет!
функции sin x "глубоко по барабану" передал ли ты int double или float - или для целых чисел считается один синус, а для вещественных другой?Кстати чем отличается 1 от 1.0 - чё чинусы разные будут
sin(1);
sin(1.0);

go, не в обиду иди поучись

Добавлено через 1 минуту
Цитата Сообщение от go Посмотреть сообщение
В С существует только первая
- чем будет отличен результат что для плюсов что для Си для

Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
sin(1);
sin(1.0);
- даю подсказку - НИЧЕМ!
go
Эксперт C++
3585 / 1365 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
06.12.2011, 18:03     Дано натуральное число N. Вычислить S=1/sin1+1/sin1+sin2+1/sin1+sin2+...sinN. #7
-=ЮрА=-, посмотрите на тип возвращаемого значения функции sin (он зависит от типа аргумента) Попробуйте скомпилировать ваш код в Студии, например.
-=ЮрА=-
Заблокирован
Автор FAQ
06.12.2011, 18:07     Дано натуральное число N. Вычислить S=1/sin1+1/sin1+sin2+1/sin1+sin2+...sinN. #8
PS: В Си тип аргумента будет преобразован к даблу, в плюсах возможно к float - как это повлияет на результат???Возврат от синуса будет в float или double а не в int поэтому всегда делить будем на вещественное!

Добавлено через 29 секунд
Цитата Сообщение от go Посмотреть сообщение
ваш код в Студии, например.
- я а в чём компилирую

 Комментарий модератора 
Запрещено использовать нецензурные выражения в любом виде, оскорблять других участников форума, умышленно использовать выражения, противоречащие правилам русского языка.
Уважительно относитесь к другим участникам форума.
go
Эксперт C++
3585 / 1365 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
06.12.2011, 18:10     Дано натуральное число N. Вычислить S=1/sin1+1/sin1+sin2+1/sin1+sin2+...sinN. #9
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
- даю подсказку - НИЧЕМ!
C++
1
2
3
4
5
6
7
8
9
int _tmain(int argc, _TCHAR* argv[])
{
    int a=1;
 
    cout << sizeof ( sin ( (float) a) ) << endl;
    cout << sizeof ( sin ( (long double) a) );
 
    return 0;
}
http://codepad.org/PphCenej

А теперь смотрим (повезло, что откомпилировал)
http://codepad.org/0Q10GKbE

Добавлено через 1 минуту
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
- я а в чём компилирую
Не знаю

Добавлено через 22 секунды
Могу предоставить скрин ошибки
-=ЮрА=-
Заблокирован
Автор FAQ
06.12.2011, 18:13     Дано натуральное число N. Вычислить S=1/sin1+1/sin1+sin2+1/sin1+sin2+...sinN. #10
Всё устал внизу скрины от CodeBlocks и VC98
Миниатюры
Дано натуральное число N.  Вычислить  S=1/sin1+1/sin1+sin2+1/sin1+sin2+...sinN.   Дано натуральное число N.  Вычислить  S=1/sin1+1/sin1+sin2+1/sin1+sin2+...sinN.  
-=ЮрА=-
Заблокирован
Автор FAQ
06.12.2011, 18:16     Дано натуральное число N. Вычислить S=1/sin1+1/sin1+sin2+1/sin1+sin2+...sinN. #11
Цитата Сообщение от go Посмотреть сообщение
огу предоставить скрин ошибки
- кроме твоей 10-ки есть ещё куча версий и сред разработок, раньше был fabs и abs а в 10-ке только abs. Ну так если ты кроме 10-ке ничего не знаешь что мне с тобой говорить...
Кстати в Билдере тоже идёт,вобщем изыйди - ты уже со сканфом накосил и тут что то доказать пытаешся, всё мне некогда тратить время...
go
Эксперт C++
3585 / 1365 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
06.12.2011, 18:16     Дано натуральное число N. Вычислить S=1/sin1+1/sin1+sin2+1/sin1+sin2+...sinN. #12
Вот...
-=ЮрА=-, Вы, наверное, не знали, что такое бывает
Миниатюры
Дано натуральное число N.  Вычислить  S=1/sin1+1/sin1+sin2+1/sin1+sin2+...sinN.  
fasked
Эксперт C++
4932 / 2512 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
06.12.2011, 18:23     Дано натуральное число N. Вычислить S=1/sin1+1/sin1+sin2+1/sin1+sin2+...sinN. #13
-=ЮрА=-, компилятор не может догадаться к какому именно типу приводить int'овое значение. Неоднозначность. Ошибка.
-=ЮрА=-
Заблокирован
Автор FAQ
06.12.2011, 18:31     Дано натуральное число N. Вычислить S=1/sin1+1/sin1+sin2+1/sin1+sin2+...sinN. #14
Цитата Сообщение от go Посмотреть сообщение
Вы, наверное, не знали, что такое бывае
- дружок я пишу в нескольких средах, а также в 3-х версиях Студии, уже сказал если ты пишешь в VS2010 где более жёсткие требования к стандарту, попробуй откомпилировать в VS2005 или Builder с CodeBlocks. Кстати , о версии и среде разработки ТС вообще ничего не писал!Кроме двух скринов дебага прикладываю скрин билдера. Итак подведу итог в VS2010 из за более жёстких требований к стандарту нужно явно указывать тип переменных, в более ранних версиях в Builder CodeBlocks всё ок и что имеем, какой то мальчик кроме 10-ки ничего не видел и расписывает что то!Твоё замечание действует для 10-ки, кстати я в этой среде не работаю исключительно из соображений ресурсоёмкость
IDE/качество, если ТС оговорит что пишет в 10-ке я приведу код для неё. В топике не понятна формула расчёта - это да!
Миниатюры
Дано натуральное число N.  Вычислить  S=1/sin1+1/sin1+sin2+1/sin1+sin2+...sinN.  
go
Эксперт C++
3585 / 1365 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
06.12.2011, 18:31     Дано натуральное число N. Вычислить S=1/sin1+1/sin1+sin2+1/sin1+sin2+...sinN. #15
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
В Си тип аргумента будет преобразован к даблу, в плюсах возможно к float - как это повлияет на результат??
Последний пример специально для Вас (Все лежит на поверхности)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void fun (double a)
{
}
 
void fun (float a)
{
}
 
int main ()
{
    int a;
    fun (a);
}
Скомпилируйте
http://liveworkspace.org/code/ffdd09...f913bcbb6d5b02
http://codepad.org/SqG93bUQ
-=ЮрА=-
Заблокирован
Автор FAQ
06.12.2011, 18:42     Дано натуральное число N. Вычислить S=1/sin1+1/sin1+sin2+1/sin1+sin2+...sinN. #16
Цитата Сообщение от fasked Посмотреть сообщение
-=ЮрА=-, компилятор не может догадаться к какому именно типу приводить int'овое значение. Неоднозначность. Ошибка.
- компилятор VS2010, делая вот это замечание
Цитата Сообщение от go Посмотреть сообщение
-=ЮрА=-, функция синус прегружена
go, наверное
Цитата Сообщение от go Посмотреть сообщение
наверное, не знал, что такое бывают
иные версии, среды разработки, а кроит скринчики из своего крошечного мирка Microsoft VS 2010. Мне легко сейчас написать что нибудь в GCC Builder ранних версиях VS т.к. за плечами есть опыт работы и давая овет ТС я руководствовался реалиями жизни - у 90% ТС на данном форуме - либо билдер либо кодблокс либо 6-ка, либо 2005 (другого просто не стоит ни в школах ни ВУЗах, ну может некоторых разви что). Итак если бы человек оговорил что 2010 среда нужна я сакцентировал бы своё внимание на этом, а так привёл общий алгоритм который одинаково хорош сразу для 3-х сред разработки, ну да ладно...

Добавлено через 2 минуты
Цитата Сообщение от go Посмотреть сообщение
Скомпилируйте
откомпилируй сам!Я уже сказал ты в сканфе накосил, косишь и здесь - от незнания других сред, особенностей требований версий. Как нибудь попробуй свой код с 10-ки запустить в кодблоксе или билдере и ...посмотришь что компилятор тебе напишет
go
Эксперт C++
3585 / 1365 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
06.12.2011, 18:43     Дано натуральное число N. Вычислить S=1/sin1+1/sin1+sin2+1/sin1+sin2+...sinN. #17
-=ЮрА=-, писать код нужно не под какой-то один комплитор, он должен работать на всех.
Вы предложили вариант, как здесь Дано натуральное число N. Вычислить S=1/sin1+1/sin1+sin2+1/sin1+sin2+...sinN.
Ну и как компилит его ваш компилятор?!
vetvet
Змеюка одышечная
9839 / 4579 / 177
Регистрация: 04.01.2011
Сообщений: 8,563
06.12.2011, 18:45     Дано натуральное число N. Вычислить S=1/sin1+1/sin1+sin2+1/sin1+sin2+...sinN. #18
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
В топике не понятна формула расчёта - это да!
Так зачем вы тогда пишете программу, не дождавшись уточнения?
Как минимум, логичнее предположить, что задание выглядит так:
http://www.cyberforum.ru/cgi-bin/latex.cgi?\frac{1}{\sin{1}}+\frac{1}{\sin{1}+\sin{2}}+...+\frac{1}{\sin{1}+\sin{2}+...+\sin{N}}

О_о или вообще так:
http://www.cyberforum.ru/cgi-bin/latex.cgi?\frac{1}{\sin{1}+\frac{1}{\sin{1}+\sin{2}+...+\frac{1}{\sin{1}+\sin{2}+...+\sin{N}}}}

Ибо смысл складывать одинаковые числа?
-=ЮрА=-
Заблокирован
Автор FAQ
06.12.2011, 18:52     Дано натуральное число N. Вычислить S=1/sin1+1/sin1+sin2+1/sin1+sin2+...sinN. #19
go, я выложил 3 скрина в 14-м посте и 2-ва в 10-м. В общем счёте отработка на ура в
Builder, CodeBlocks и 6-ке Visual Studio - у тебя же кроме 10-ки вообще ничего не видел, мне не нужно особых знаний чтобы подвести итог 3:1, а с учётом того что 10-ка стоит далеко не у каждого вывод напрашивается сам собой - поробуй писать в чём нибудь кроме 10-ки может не будет полных fail-лов аля scanf считывает только для пробела...

Добавлено через 1 минуту
Цитата Сообщение от vetvet Посмотреть сообщение
Так зачем вы тогда пишете программу, не дождавшись уточнения?
vetvet, я и задавал вопрос ТС
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
Я формулу из задания не понял, у меня реализация 1/sin(1) + sin(1) + 1/sin(2) + sin(2)...
- (это 2-й пост)т.к. не понятно что он хотел, а туткак всегда кто-то хочет попылить от незнания и очередной холивор, кстати я уже всё подытожил и жду лишь постов ТС!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.12.2011, 18:53     Дано натуральное число N. Вычислить S=1/sin1+1/sin1+sin2+1/sin1+sin2+...sinN.
Еще ссылки по теме:

Дано натуральное число n. Вычислить C++
C++ Дано натуральное число n, действительное число х. Вычислить sinx+sinx2+...+sinxn
C++ Дано натуральное число N. Вычислить
Дано натуральное число n. Вычислить C++
C++ Дано натуральное число а и целое положительное число d. Вычислить частное q и остаток r при делении а на d

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

Или воспользуйтесь поиском по форуму:
go
06.12.2011, 18:53     Дано натуральное число N. Вычислить S=1/sin1+1/sin1+sin2+1/sin1+sin2+...sinN.
  #20

Не по теме:

-=ЮрА=-, Подведу итог нашего спора: Читайте тему "Перегруженные функции"
И http://www.cplusplus.com/reference/clibrary/cmath/sin/

Yandex
Объявления
06.12.2011, 18:53     Дано натуральное число N. Вычислить S=1/sin1+1/sin1+sin2+1/sin1+sin2+...sinN.
Ответ Создать тему
Опции темы

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