Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 5.00/18: Рейтинг темы: голосов - 18, средняя оценка - 5.00
1 / 1 / 1
Регистрация: 21.03.2011
Сообщений: 78
1

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

02.05.2011, 11:59. Показов 3482. Ответов 20
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здраствуйте! Вот задача: Вычислить значения сумм ряда 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();
}
Правильно ли
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.05.2011, 11:59
Ответы с готовыми решениями:

Комплексное число задается своим модулем и углом (например, число 10 * (Cos (π / 6) + Sin (π / 6)
Комплексное число задается своим модулем и углом (например, число 10 * (Cos (π / 6) + Sin...

Циклический алгоритм. Вычислить число π по следующей формуле
Вычислить число π по следующей формуле: π=4(1- 1/3+1/5-1/7+1/9) Суммирование прекращать, когда...

Подскажите как написать в С++: Вывести «столбиком» значения sin 0,l, sin 0,2, ., sin l,l
Вот такое задание Вывести «столбиком» значения sin 0,l, sin 0,2, ..., sin l,l.

Цикл: Вычислить значение контрольной суммы sin(x)/1 + sin(2x)/2 + ... + sin(n*x)/n...
Задача вычислить значение контрольной суммы sin(x)/1 + sin(2x)/2 + ... + sin(n*x)/n Код получился...

20
Эксперт С++
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
02.05.2011, 12:48 2
Вопросы:
1. В какой среде написано?
2. Зачем массив a[10]?
3. почему ввод-вывод делается как в С?
4. Соответственно, почему инклуды написаны как в С?
5. Почему только до 10?
6. Почему пи=3.14? Есть же стандартная константа.
Недочет:
7. Пи/4 можно вычислить 1 раз перед циклом.
Неправильно:
8. s равно ОДНОМУ слагаемому, а нужна сумма слагаемых.
Исправления будут зависеть от ответа на первый вопрос.
0
1 / 1 / 1
Регистрация: 21.03.2011
Сообщений: 78
02.05.2011, 13:00  [ТС] 3
Цитата Сообщение от ValeryLaptev Посмотреть сообщение
Вопросы:
1. В какой среде написано?
2. Зачем массив a[10]?
3. почему ввод-вывод делается как в С?
4. Соответственно, почему инклуды написаны как в С?
5. Почему только до 10?
6. Почему пи=3.14? Есть же стандартная константа.
Недочет:
7. Пи/4 можно вычислить 1 раз перед циклом.
Неправильно:
8. s равно ОДНОМУ слагаемому, а нужна сумма слагаемых.
Исправления будут зависеть от ответа на первый вопрос.
1.Написано в СИ.

Добавлено через 1 минуту
6. Почему пи=3.14? Есть же стандартная константа.
Да вот забыл эту константу.
0
Эксперт С++
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
02.05.2011, 13:08 4
Написано НА ЯЗЫКЕ СИ.
Тогда про среду можно не говорить.
3 и 4 вопросы отменяются. Остальные остаются в силе.
Стандартная константа пи - она в стандартной библиотеке должна как-то называться. В Микрософтовских средах она называется M_PI.
0
1 / 1 / 1
Регистрация: 21.03.2011
Сообщений: 78
02.05.2011, 13:30  [ТС] 5
Цитата Сообщение от ValeryLaptev Посмотреть сообщение
Вопросы:
2. Зачем массив a[10]?
Ну как бы сначала будет s=x*sin*π/4 потом s=x^2*sin2*π/4 потом s=x^3*sin3*π/4 и так далее до 10-ти.
0
Эксперт С++
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
02.05.2011, 13:31 6
Дык ты ж этот массив не используешь!
Тогда зачем объявляешь?
0
1 / 1 / 1
Регистрация: 21.03.2011
Сообщений: 78
02.05.2011, 21:52  [ТС] 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();
}
0
Эксперт С++
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
02.05.2011, 23:12 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) - откуда? В первоначальной формуле не видать...
0
1552 / 918 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
02.05.2011, 23:15 9
ValeryLaptev, не смотрите только на теги, на код тоже внимание обращайте)) некоторым же не сообразить, что если код на Си, то и теги под Си нужны)
0
1 / 1 / 1
Регистрация: 21.03.2011
Сообщений: 78
02.05.2011, 23:36  [ТС] 10
1. Чему равен х? Нигде не видать ввода.
2. pow(n,i) - откуда? В первоначальной формуле не видать...
Тут n и есть x.
0
Эксперт С++
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
02.05.2011, 23:39 11
Цитата Сообщение от Just_dake Посмотреть сообщение
Тут n и есть x.
Он у тебя целый?
А так вроде все правильно.
Проверяй на n = 1 и n = 2.
1
1 / 1 / 1
Регистрация: 21.03.2011
Сообщений: 78
02.05.2011, 23:45  [ТС] 12
Да он целый.
Так значит он правильный? Просто я не могу проверить, выдает какие-то значения.

Добавлено через 2 минуты
Если ввести 1 выдает s=0.0000, если 2 то s=1.413650
0
Эксперт С++
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
02.05.2011, 23:51 13
Цитата Сообщение от Just_dake Посмотреть сообщение
Тут n и есть x.
Вообще-то по формуле - это разные вещи. n - это количество слагаемых в формуле, оно же - количество повторений цикла. А х - просто переменная, которая возводится в степень для каждого шага.
Еще подумай. Или напиши правильную формулу.
А проверить при n = 1 легко.
Должен получиться ответ синус 45 градусов (пи/4 = 45 градусов). Это известное число: корень из 2 пополам. Посчитай на калькуляторе.
0
1 / 1 / 1
Регистрация: 21.03.2011
Сообщений: 78
03.05.2011, 00:58  [ТС] 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();
}
Остается вопрос: правильно аль нет?
0
Эксперт С++
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
03.05.2011, 01:03 15
Ну так проверь же для х = 1! Если получится половина корня из 2, то правильно
0
1 / 1 / 1
Регистрация: 21.03.2011
Сообщений: 78
03.05.2011, 01:11  [ТС] 16
Все также если ввести 1 выдает s=0.000000, если 2 то s=1.413650
0
Заблокирован
03.05.2011, 01:11 17
а тут ошибку на выдает
C++
1
scanf("%i",&x);
помойму надо заменить на
scanf("%i",x);
0
Эксперт С++
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
03.05.2011, 01:19 18
Цитата Сообщение от Жека_ Посмотреть сообщение
а тут ошибку на выдает
C++
1
scanf("%i",&x);
помойму надо заменить на
scanf("%i",x);
Тут все правильно.
А считает неправильно.
Для х=1 имеем i = 1 и цикл не выполняется ни одного раза. Поставь i = 0;
0
1 / 1 / 1
Регистрация: 21.03.2011
Сообщений: 78
03.05.2011, 01:22  [ТС] 19
Нет там ошибки нет. & перед х это как бы указатель на символ х в памяти компьютера.

Добавлено через 2 минуты
Тут все правильно.
А считает неправильно.
Для х=1 имеем i = 1 и цикл не выполняется ни одного раза. Поставь i = 0;
Все равно s=0.0000
0
Эксперт С++
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
03.05.2011, 01:33 20
Цитата Сообщение от Just_dake Посмотреть сообщение
Нет там ошибки нет. & перед х это как бы указатель на символ х в памяти компьютера.

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

Все равно s=0.0000
От жеж блин! для i = 0 имеем синус нуля = 0. Поэтому ноль.
Считай для 2. Получается pow (2,1) = 2. sin = 0.5 от корня из 2.
Итого - корень из 2 = 1,4142135623730950488016887242097
Учитывая, что у тебя пи слишком неточное, получается погрешность в 3 знаке.
1
03.05.2011, 01:33
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.05.2011, 01:33
Помогаю со студенческими работами здесь

Вычислить выражение sin(sin(sin...(x))...)
Вычислить y=sinsin...sinx, где количество повторений sin=n. #include &lt;iostream&gt; #include...

Таблица синусов для значений аргумента в диапазоне от 0 до π/2 с заданным числом шагов
1.Используя циклы while, do - while и for, написать три варианта программы получения на экране...

Вычислить значение S=(1+sin 0,1) (1+sin 0,2)... (1+sin10)
Нужно решить задачу Вычислить S=(1+sin 0,1) (1+sin 0,2)... (1+sin10)

Вычислить значения sin(x) с точностью e
Вычислить значения sin(x) с точностью e, используя разложение в ряд Тейлора...мне нужно в Visual...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru