0 / 0 / 0
Регистрация: 06.12.2011
Сообщений: 16
1

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

06.12.2011, 14:36. Показов 23396. Ответов 32
Метки нет (Все метки)

Дано натуральное число N. Вычислить S=1/sin1+1/sin1+sin2+1/sin1+sin2+...sinN.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.12.2011, 14:36
Ответы с готовыми решениями:

Вычислить значение выражения: y=sin1+sin1.1+sin1.2+...+sin2;
Вычислить значение выражения: y=sin1+sin1.1+sin1.2+...+sin2; Мой нароботок: #include <iostream>...

Вычислить sin1+sin1,5+.+sin10
Вычислить sin1+sin1,5+...+sin10 Заранее спасибо=)

Вычислить (1-sin0.1)+(1+sin0.2)+...+(1+sin1.0).
//Вычислить (1-sin0.1)+(1+sin0.2)+...+(1+sin1.0). #include <iostream> #include <math.h>...

Дано натуральное число N и вещественное число x. Вычислить частичную сумму ряда.
Дано натуральное число N и вещественное число x. Вычислить S=\sum \limits_{i = 1}^N \frac x...

32
Заблокирован
Автор FAQ
06.12.2011, 15:16 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)...
0
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
06.12.2011, 15:46 3
fargat, уточните формулу общего члена ряда
-=ЮрА=-, функция синус прегружена
C
1
S += (1/sin( (double) i) + sin( (double) i));
0
Заблокирован
Автор FAQ
06.12.2011, 17:48 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:Впредь постарайся писать по сути, вижу у тебя задатки асса - ну тогда хоть им соответсвуй в постах!
0
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
06.12.2011, 17:57 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 );
В С существует только первая
0
Заблокирован
Автор FAQ
06.12.2011, 18:02 6
go, у тебя всё в порядке???А то я думаю что нет!
функции sin x "глубоко по барабану" передал ли ты int double или float - или для целых чисел считается один синус, а для вещественных другой?Кстати чем отличается 1 от 1.0 - чё чинусы разные будут
sin(1);
sin(1.0);

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

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

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

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

 Комментарий модератора 
Запрещено использовать нецензурные выражения в любом виде, оскорблять других участников форума, умышленно использовать выражения, противоречащие правилам русского языка.
Уважительно относитесь к другим участникам форума.
0
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
06.12.2011, 18:10 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 секунды
Могу предоставить скрин ошибки
0
Заблокирован
Автор FAQ
06.12.2011, 18:13 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.  
0
Заблокирован
Автор FAQ
06.12.2011, 18:16 11
Цитата Сообщение от go Посмотреть сообщение
огу предоставить скрин ошибки
- кроме твоей 10-ки есть ещё куча версий и сред разработок, раньше был fabs и abs а в 10-ке только abs. Ну так если ты кроме 10-ке ничего не знаешь что мне с тобой говорить...
Кстати в Билдере тоже идёт,вобщем изыйди - ты уже со сканфом накосил и тут что то доказать пытаешся, всё мне некогда тратить время...
0
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
06.12.2011, 18:16 12
Вот...
-=ЮрА=-, Вы, наверное, не знали, что такое бывает
Миниатюры
Дано натуральное число N.  Вычислить  S=1/sin1+1/sin1+sin2+1/sin1+sin2+...sinN.  
0
Эксперт С++
5038 / 2617 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 1
06.12.2011, 18:23 13
-=ЮрА=-, компилятор не может догадаться к какому именно типу приводить int'овое значение. Неоднозначность. Ошибка.
0
Заблокирован
Автор FAQ
06.12.2011, 18:31 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.  
0
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
06.12.2011, 18:31 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/... bcbb6d5b02
http://codepad.org/SqG93bUQ
0
Заблокирован
Автор FAQ
06.12.2011, 18:42 16
Цитата Сообщение от fasked Посмотреть сообщение
-=ЮрА=-, компилятор не может догадаться к какому именно типу приводить int'овое значение. Неоднозначность. Ошибка.
- компилятор VS2010, делая вот это замечание
Цитата Сообщение от go Посмотреть сообщение
-=ЮрА=-, функция синус прегружена
go, наверное
Цитата Сообщение от go Посмотреть сообщение
наверное, не знал, что такое бывают
иные версии, среды разработки, а кроит скринчики из своего крошечного мирка Microsoft VS 2010. Мне легко сейчас написать что нибудь в GCC Builder ранних версиях VS т.к. за плечами есть опыт работы и давая овет ТС я руководствовался реалиями жизни - у 90% ТС на данном форуме - либо билдер либо кодблокс либо 6-ка, либо 2005 (другого просто не стоит ни в школах ни ВУЗах, ну может некоторых разви что). Итак если бы человек оговорил что 2010 среда нужна я сакцентировал бы своё внимание на этом, а так привёл общий алгоритм который одинаково хорош сразу для 3-х сред разработки, ну да ладно...

Добавлено через 2 минуты
Цитата Сообщение от go Посмотреть сообщение
Скомпилируйте
откомпилируй сам!Я уже сказал ты в сканфе накосил, косишь и здесь - от незнания других сред, особенностей требований версий. Как нибудь попробуй свой код с 10-ки запустить в кодблоксе или билдере и ...посмотришь что компилятор тебе напишет
0
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
06.12.2011, 18:43 17
-=ЮрА=-, писать код нужно не под какой-то один комплитор, он должен работать на всех.
Вы предложили вариант, как здесь https://www.cyberforum.ru/post2253894.html
Ну и как компилит его ваш компилятор?!
0
Змеюка одышечная
9863 / 4593 / 178
Регистрация: 04.01.2011
Сообщений: 8,556
06.12.2011, 18:45 18
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
В топике не понятна формула расчёта - это да!
Так зачем вы тогда пишете программу, не дождавшись уточнения?
Как минимум, логичнее предположить, что задание выглядит так:
https://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}}

О_о или вообще так:
https://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}}}}

Ибо смысл складывать одинаковые числа?
0
Заблокирован
Автор FAQ
06.12.2011, 18:52 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-й пост)т.к. не понятно что он хотел, а туткак всегда кто-то хочет попылить от незнания и очередной холивор, кстати я уже всё подытожил и жду лишь постов ТС!
0
go
06.12.2011, 18:53     Дано натуральное число N. Вычислить S=1/sin1+1/sin1+sin2+1/sin1+sin2+...sinN.
  #20

Не по теме:

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

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.12.2011, 18:53

Дано натуральное число n, действительное число х. Вычислить sinx+sinx2+...+sinxn
Прошу помочь с 3-мя задачками очень нужно сдать а сделать никак не могу. 1) Дано натуральное число...

Дано натуральное число n и действительное число x; вычислить значение выражения
Как будет по этой формуле? 1+(х^2)\2!+(x^4)\4!+...+(x^2m)\(2m)!

Дано вещественное число а и натуральное число n. Вычислить а^1,a^2,a^3,..a^n. Операцию возведения в степень не использовать
Дано вещественное число а и натуральное число n. Вычислить а^1,a^2,a^3,..a^n. Операцию возведения...

Дано натуральное число а и целое положительное число d. Вычислить частное q и остаток r при делении а на d
1 Дано натуральное число а и целое положительное число d. Вычислить частное q и остаток r при...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru