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

C цикл с while

26.10.2011, 14:21. Показов 800. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток, уважаемые форумчане.
Прошу, Вашей, помощи в написании программы следующего содержания :

Вводится точность e. Вычислить сумму ряда (см. прил.). Вычисления продолжать до тех пор, пока очередное слагаемое не станет меньше e.

На сколько хватило моей соображалки, сумму ряда я могу взять из последнией части уравнения, так же я должен задать условие |x|>0. Более того, на вводе данных я задаю не только точность, но и пременную х для нахождения суммы ряда. В любом случае это только мои предположения, на деле я слабо представляю как написать программу с такого рода заданием, ибо аналогов в интернете нет, да и примеров на лекциях нам не показывали. Расчитываю на вашу помощь.

П.С. - программирование в большенстве своём происходит на C, с синтаксисом языка С++ ещё не знаком, хоть исходкики у нас и .срр.
Миниатюры
C цикл с while  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.10.2011, 14:21
Ответы с готовыми решениями:

Создать программу по всем 3 видам циклов...цикл с параметром,цикл с условием,цикл,и цикл с предусловием...
Найти сумму чисел 1 в квадрате до 10 c квадрате...операцию возведению в степень не использовать...

Цикл с предусловием, цикл с постусловием и цикл с параметром
Объясните пожалуйста как делать эти циклы. У меня не получается. Можете сделать как на фото, или на...

Цикл: Посчитать среднее арифметическое всех чисел в заданном диапазоне. Цикл while.
Напишите пожалуйста код для данной задачки с помощью цикла while Вывести числа в пользовательском...

Как реализовать бесконечный цикл While, но чтобы этот цикл не грузил процессор?
Допустим есть цикл: while (1) { ... } Как сделать так, чтобы бесконечный цикл не...

5
3528 / 2686 / 334
Регистрация: 11.03.2009
Сообщений: 6,167
26.10.2011, 14:43 2
Цитата Сообщение от Waveox Посмотреть сообщение
ибо аналогов в интернете нет
эт громко сказано, на этом самом форуме точно есть реализация именно этой формулы, причем не одна.
0
1 / 1 / 0
Регистрация: 26.10.2011
Сообщений: 6
26.10.2011, 17:29  [ТС] 3
Прошу прощения, но найти данную формулу мне не удалось ни только на этом форуме, а в принципе. Или искал не достаточно, или мои познавательные способности слишком низки. Не составит ли, Вам, труда дать ссылку на тему(-ы) этого задания? Буду премного благодарен.

Добавлено через 23 минуты
Цитата Сообщение от Waveox Посмотреть сообщение
Прошу прощения, но найти данную формулу мне не удалось ни только на этом форуме, а в принципе. Или искал не достаточно, или мои познавательные способности слишком низки. Не составит ли, Вам, труда дать ссылку на тему(-ы) этого задания? Буду премного благодарен.
В конце концов аналоги решения подобных функций я нашёл, но мне откровенно говоря они ни капли не помолги решить поставленную задачу. Так что помощь по коду ещё требеутся, помогите пожалуйста. ^_^

Добавлено через 1 час 31 минуту
Я бы даже не отказался от программы, которая считает сумму ряда выглядевшего как 1+2+3....
Просто план к действию уже примерно есть
Нужно:
1) Спросить у пользователя x.
2) Если |x|<=1, объяснить пользователю, что он слишком много хочет.
3) Спросить у пользователя e
4) Начать складывать слагаемые из правой части равенства нарастающим итогом.
5) При этом, как только очередное слагаемое окажется меньше e по модулю, прервать сложение и выдать пользователю сумму.

Есть даже условие точности:

n-ный член S(x, n) = 2/((2n+1)*x^(2n+1)), при n=0,1,2,...

А реализовать программу всёравно не могу, понятия не имею как это всё написать на си.
0
3528 / 2686 / 334
Регистрация: 11.03.2009
Сообщений: 6,167
26.10.2011, 23:44 4
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 <stdio.h>
#include <math.h>
 
int main()
{
   double sum = 0., x, e, term;
   int n = 1;
   
   printf("Введите значение аргумента x: ");
   scanf("%f", &x);
   if (fabs(x) <= 1.0)
   {
      printf("x должен быть |x| > 1\n");
      return 1;
   }
   printf("Введите точность e:");
   scanf("%f", &e);
   term = 1/x;
   while (fabs(term) > e)
   {
      sum += term;
      term *= (2*n - 1)/(x*x*(2*n + 1));
      n++;
   }
   sum *= 2;
   printf("Значение функции - %f\n", sum);
   return 0;
}
Это через рекурентную формулу, если требуется аналитический вид, то строку
C
1
term *= (2*n - 1)/(x*x*(2*n + 1));
замени на
C
1
term = 1/((2*n + 1)*pow(x, (double)(2*n + 1)));
1
1 / 1 / 0
Регистрация: 26.10.2011
Сообщений: 6
27.10.2011, 00:50  [ТС] 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 <stdio.h>
#include <conio.h>
#include <math.h> 
 
int main()
{
int n=0;
 float e,x,i, sum=0;
 printf("Insert accuracy\n");
    scanf("%f", &e);
 printf("Insert x-value\n");
 scanf("%f", &x);
        if (abs(x)>1)
        {
            i = 2/((2*n+1)*pow(x,(2*n+1)));
            while (i>e) {
               sum+=i;  
               n++;
               i = 2/((2*n+1)*pow(x,(2*n+1))); }
           printf ("Result is %f",sum);
        } else printf("Incorrect number");
 
 getch();
 return 0;
}
0
3528 / 2686 / 334
Регистрация: 11.03.2009
Сообщений: 6,167
27.10.2011, 01:24 6
abs работает с целыми числами, для вещественных есть функция fabs
0
27.10.2011, 01:24
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.10.2011, 01:24
Помогаю со студенческими работами здесь

Цикл: Используя цикл while, выведите на экран для числа 2 его степени от 0 до 20
Используя цикл while, выведите на экран для числа 2 его степени от 0 до 20. Возведение в степень в...

Написать в турбо паскале, Цикл с параметром, Цикл, с постусловием, и с предусловием пожалуйста

Начать вложенный цикл не с первого элемента и по условию вернуться в основной цикл
Добрый день. На самом деле, проблема чуть шире, чем в названии топика. Есть цикл, в котором идёт...

Цикл: Вычислить значение выражения. Как вывести формулу и сделать цикл while?
Последовательно вводятся N целых чисел. Найти минимальное из них. #include&lt;stdio.h&gt; ...


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

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

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