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

Вычислить значения сумм ряда s=x*sin*π/4+x 2*sin 2* π/4+…+ xn*sinn* π/4 - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.79
Just_dake
1 / 1 / 1
Регистрация: 21.03.2011
Сообщений: 78
02.05.2011, 11:59     Вычислить значения сумм ряда s=x*sin*π/4+x 2*sin 2* π/4+…+ xn*sinn* π/4 #1
Здраствуйте! Вот задача: Вычислить значения сумм ряда s=x*sin*π/4+x^2*sin 2* π/4+…+ x^n*sinn* π/4.
Вот мое решение:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<stdio.h>
#include<conio.h>
#include<math.h>
int main()
{
int i,x;
int a[10];
float s;
printf("Vvedite x: ");
scanf("%i",&x);
for(i=1;i<10;i++)
s=pow(x,i)*sin(i*3.14/4.0);
printf("S = %f",s);
getch();
}
Правильно ли
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ValeryLaptev
Эксперт C++
1005 / 784 / 46
Регистрация: 30.04.2011
Сообщений: 1,595
02.05.2011, 12:48     Вычислить значения сумм ряда s=x*sin*π/4+x 2*sin 2* π/4+…+ xn*sinn* π/4 #2
Вопросы:
1. В какой среде написано?
2. Зачем массив a[10]?
3. почему ввод-вывод делается как в С?
4. Соответственно, почему инклуды написаны как в С?
5. Почему только до 10?
6. Почему пи=3.14? Есть же стандартная константа.
Недочет:
7. Пи/4 можно вычислить 1 раз перед циклом.
Неправильно:
8. s равно ОДНОМУ слагаемому, а нужна сумма слагаемых.
Исправления будут зависеть от ответа на первый вопрос.
Just_dake
1 / 1 / 1
Регистрация: 21.03.2011
Сообщений: 78
02.05.2011, 13:00  [ТС]     Вычислить значения сумм ряда s=x*sin*π/4+x 2*sin 2* π/4+…+ xn*sinn* π/4 #3
Цитата Сообщение от ValeryLaptev Посмотреть сообщение
Вопросы:
1. В какой среде написано?
2. Зачем массив a[10]?
3. почему ввод-вывод делается как в С?
4. Соответственно, почему инклуды написаны как в С?
5. Почему только до 10?
6. Почему пи=3.14? Есть же стандартная константа.
Недочет:
7. Пи/4 можно вычислить 1 раз перед циклом.
Неправильно:
8. s равно ОДНОМУ слагаемому, а нужна сумма слагаемых.
Исправления будут зависеть от ответа на первый вопрос.
1.Написано в СИ.

Добавлено через 1 минуту
6. Почему пи=3.14? Есть же стандартная константа.
Да вот забыл эту константу.
ValeryLaptev
Эксперт C++
1005 / 784 / 46
Регистрация: 30.04.2011
Сообщений: 1,595
02.05.2011, 13:08     Вычислить значения сумм ряда s=x*sin*π/4+x 2*sin 2* π/4+…+ xn*sinn* π/4 #4
Написано НА ЯЗЫКЕ СИ.
Тогда про среду можно не говорить.
3 и 4 вопросы отменяются. Остальные остаются в силе.
Стандартная константа пи - она в стандартной библиотеке должна как-то называться. В Микрософтовских средах она называется M_PI.
Just_dake
1 / 1 / 1
Регистрация: 21.03.2011
Сообщений: 78
02.05.2011, 13:30  [ТС]     Вычислить значения сумм ряда s=x*sin*π/4+x 2*sin 2* π/4+…+ xn*sinn* π/4 #5
Цитата Сообщение от ValeryLaptev Посмотреть сообщение
Вопросы:
2. Зачем массив a[10]?
Ну как бы сначала будет s=x*sin*π/4 потом s=x^2*sin2*π/4 потом s=x^3*sin3*π/4 и так далее до 10-ти.
ValeryLaptev
Эксперт C++
1005 / 784 / 46
Регистрация: 30.04.2011
Сообщений: 1,595
02.05.2011, 13:31     Вычислить значения сумм ряда s=x*sin*π/4+x 2*sin 2* π/4+…+ xn*sinn* π/4 #6
Дык ты ж этот массив не используешь!
Тогда зачем объявляешь?
Just_dake
1 / 1 / 1
Регистрация: 21.03.2011
Сообщений: 78
02.05.2011, 21:52  [ТС]     Вычислить значения сумм ряда s=x*sin*π/4+x 2*sin 2* π/4+…+ xn*sinn* π/4 #7
Чет я запутался , может вы свой вариант предложете?

Добавлено через 8 часов 16 минут
Люди теперь правильно посмотрите пожалуйста!
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include<stdio.h>
#include<conio.h>
#include<math.h>
int main()
{
int i,n;
int a;
float s=0;
clrscr();
printf("Vvedite n: ");
scanf("%i",&n);
for(i=1;i<n;i++)
s=s+pow(n,i)*sin(i*3.14/4.0);
printf("S = %f",s);
getch();
}
ValeryLaptev
Эксперт C++
1005 / 784 / 46
Регистрация: 30.04.2011
Сообщений: 1,595
02.05.2011, 23:12     Вычислить значения сумм ряда s=x*sin*π/4+x 2*sin 2* π/4+…+ xn*sinn* π/4 #8
Цитата Сообщение от Just_dake Посмотреть сообщение
Чет я запутался , может вы свой вариант предложете?

Добавлено через 8 часов 16 минут
Люди теперь правильно посмотрите пожалуйста!
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include<stdio.h>
#include<conio.h>
#include<math.h>
int main()
{
int i,n;
int a;
float s=0;
clrscr();
printf("Vvedite n: ");
scanf("%i",&n);
for(i=1;i<n;i++)
s=s+pow(n,i)*sin(i*3.14/4.0);
printf("S = %f",s);
getch();
}
1. Чему равен х? Нигде не видать ввода.
2. pow(n,i) - откуда? В первоначальной формуле не видать...
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,691
02.05.2011, 23:15     Вычислить значения сумм ряда s=x*sin*π/4+x 2*sin 2* π/4+…+ xn*sinn* π/4 #9
ValeryLaptev, не смотрите только на теги, на код тоже внимание обращайте)) некоторым же не сообразить, что если код на Си, то и теги под Си нужны)
Just_dake
1 / 1 / 1
Регистрация: 21.03.2011
Сообщений: 78
02.05.2011, 23:36  [ТС]     Вычислить значения сумм ряда s=x*sin*π/4+x 2*sin 2* π/4+…+ xn*sinn* π/4 #10
1. Чему равен х? Нигде не видать ввода.
2. pow(n,i) - откуда? В первоначальной формуле не видать...
Тут n и есть x.
ValeryLaptev
Эксперт C++
1005 / 784 / 46
Регистрация: 30.04.2011
Сообщений: 1,595
02.05.2011, 23:39     Вычислить значения сумм ряда s=x*sin*π/4+x 2*sin 2* π/4+…+ xn*sinn* π/4 #11
Цитата Сообщение от Just_dake Посмотреть сообщение
Тут n и есть x.
Он у тебя целый?
А так вроде все правильно.
Проверяй на n = 1 и n = 2.
Just_dake
1 / 1 / 1
Регистрация: 21.03.2011
Сообщений: 78
02.05.2011, 23:45  [ТС]     Вычислить значения сумм ряда s=x*sin*π/4+x 2*sin 2* π/4+…+ xn*sinn* π/4 #12
Да он целый.
Так значит он правильный? Просто я не могу проверить, выдает какие-то значения.

Добавлено через 2 минуты
Если ввести 1 выдает s=0.0000, если 2 то s=1.413650
ValeryLaptev
Эксперт C++
1005 / 784 / 46
Регистрация: 30.04.2011
Сообщений: 1,595
02.05.2011, 23:51     Вычислить значения сумм ряда s=x*sin*π/4+x 2*sin 2* π/4+…+ xn*sinn* π/4 #13
Цитата Сообщение от Just_dake Посмотреть сообщение
Тут n и есть x.
Вообще-то по формуле - это разные вещи. n - это количество слагаемых в формуле, оно же - количество повторений цикла. А х - просто переменная, которая возводится в степень для каждого шага.
Еще подумай. Или напиши правильную формулу.
А проверить при n = 1 легко.
Должен получиться ответ синус 45 градусов (пи/4 = 45 градусов). Это известное число: корень из 2 пополам. Посчитай на калькуляторе.
Just_dake
1 / 1 / 1
Регистрация: 21.03.2011
Сообщений: 78
03.05.2011, 00:58  [ТС]     Вычислить значения сумм ряда s=x*sin*π/4+x 2*sin 2* π/4+…+ xn*sinn* π/4 #14
Я просто поменял x на n, а i у меня идет как n. Так что без разницы.

Добавлено через 58 минут
Вот так думаю понятнее:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include<stdio.h>
#include<conio.h>
#include<math.h>
int main()
{
int i,x;
int a;
float s=0;
clrscr();
printf("Vvedite x: ");
scanf("%i",&x);
for(i=1;i<x;i++)
s=s+pow(x,i)*sin(i*3.14/4.0);
printf("S = %f",s);
getch();
}
Остается вопрос: правильно аль нет?
ValeryLaptev
Эксперт C++
1005 / 784 / 46
Регистрация: 30.04.2011
Сообщений: 1,595
03.05.2011, 01:03     Вычислить значения сумм ряда s=x*sin*π/4+x 2*sin 2* π/4+…+ xn*sinn* π/4 #15
Ну так проверь же для х = 1! Если получится половина корня из 2, то правильно
Just_dake
1 / 1 / 1
Регистрация: 21.03.2011
Сообщений: 78
03.05.2011, 01:11  [ТС]     Вычислить значения сумм ряда s=x*sin*π/4+x 2*sin 2* π/4+…+ xn*sinn* π/4 #16
Все также если ввести 1 выдает s=0.000000, если 2 то s=1.413650
Жека_
Заблокирован
03.05.2011, 01:11     Вычислить значения сумм ряда s=x*sin*π/4+x 2*sin 2* π/4+…+ xn*sinn* π/4 #17
а тут ошибку на выдает
C++
1
scanf("%i",&x);
помойму надо заменить на
scanf("%i",x);
ValeryLaptev
Эксперт C++
1005 / 784 / 46
Регистрация: 30.04.2011
Сообщений: 1,595
03.05.2011, 01:19     Вычислить значения сумм ряда s=x*sin*π/4+x 2*sin 2* π/4+…+ xn*sinn* π/4 #18
Цитата Сообщение от Жека_ Посмотреть сообщение
а тут ошибку на выдает
C++
1
scanf("%i",&x);
помойму надо заменить на
scanf("%i",x);
Тут все правильно.
А считает неправильно.
Для х=1 имеем i = 1 и цикл не выполняется ни одного раза. Поставь i = 0;
Just_dake
1 / 1 / 1
Регистрация: 21.03.2011
Сообщений: 78
03.05.2011, 01:22  [ТС]     Вычислить значения сумм ряда s=x*sin*π/4+x 2*sin 2* π/4+…+ xn*sinn* π/4 #19
Нет там ошибки нет. & перед х это как бы указатель на символ х в памяти компьютера.

Добавлено через 2 минуты
Тут все правильно.
А считает неправильно.
Для х=1 имеем i = 1 и цикл не выполняется ни одного раза. Поставь i = 0;
Все равно s=0.0000
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.05.2011, 01:33     Вычислить значения сумм ряда s=x*sin*π/4+x 2*sin 2* π/4+…+ xn*sinn* π/4
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
ValeryLaptev
Эксперт C++
1005 / 784 / 46
Регистрация: 30.04.2011
Сообщений: 1,595
03.05.2011, 01:33     Вычислить значения сумм ряда s=x*sin*π/4+x 2*sin 2* π/4+…+ xn*sinn* π/4 #20
Цитата Сообщение от Just_dake Посмотреть сообщение
Нет там ошибки нет. & перед х это как бы указатель на символ х в памяти компьютера.

Добавлено через 2 минуты

Все равно s=0.0000
От жеж блин! для i = 0 имеем синус нуля = 0. Поэтому ноль.
Считай для 2. Получается pow (2,1) = 2. sin = 0.5 от корня из 2.
Итого - корень из 2 = 1,4142135623730950488016887242097
Учитывая, что у тебя пи слишком неточное, получается погрешность в 3 знаке.
Yandex
Объявления
03.05.2011, 01:33     Вычислить значения сумм ряда s=x*sin*π/4+x 2*sin 2* π/4+…+ xn*sinn* π/4
Ответ Создать тему
Опции темы

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