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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.83
Aleksandra
4 / 4 / 2
Регистрация: 20.11.2009
Сообщений: 37
#1

Вычисление с заданной точностью - C++

20.11.2009, 01:56. Просмотров 1604. Ответов 11
Метки нет (Все метки)

Помогите пожалуйста решить задачу на С++.
Даны положительные действительные числа А, Х, Е(epsilon). В последовательности У1,У2,... ,образованной по закону
У0=А; Уi=1/2(Уi-1 +Х/Уi-1) , i=1,2,3,4........? (i, i-1 --индексы У) найти первый член Уn, для которого выполнено неравенство |Уn*Уn-Уn-1*Уn-1|<Е (n, n-1 -- индекс У)
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.11.2009, 01:56
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вычисление с заданной точностью (C++):

Вычисление числа Пи с заданной точностью - C++
Не знаю с чего начать и как считать с двойными факториалами Есть желающие хоть как-то помочь с псевдокодом хотя бы..

Вычисление exp с заданной точностью - C++
Помогите написать код на Си, вычисление {\exp (x)}^{2} с заданной точностью \varepsilon =0.01, x=2. Заранее благодарен.

Вычисление числа e, Pi с заданной точностью - C++
Найти с заданной точностью (20-1000 знаков после запятой) одну из замечательных констант (например, e, π). Из того что осилил сам: ...

Вычисление суммы с заданной точностью - C++
Помогите разобраться с задачей. Нужно написать код с использованием рекуррентных соотношений. Найти такие a,x,eps чтобы сумма была в...

вычисление с заданной точностью ctg(x) ... - C++
Ребят нужна помощь с данной задачкой ... необходимо вычислить с заданной точностью котангенс икс путем разложения в ряд тейлора ......

Вычисление бесконечного ряда с заданной точностью - C++
Доброй ночи. Сейчас столкнулся с неприятной ситуацией, в задаче, которая казалось бы полностью понятна (но это не точно). ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
ser4ega
27 / 27 / 3
Регистрация: 15.11.2009
Сообщений: 143
20.11.2009, 02:44 #2
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 <stdlib.h>
#include <math.h>
 
 
int main()
{
      float a,x,e,n=0,v=131.0;//nadeyus nas interesuyut malye e
      printf("Vvedite A\n");scanf("%f",&a);
      printf("Vvedite X\n");scanf("%f",&x);
      printf("Vvedite E\n");scanf("%f",&e);
      
      while (v>e) 
      {
          v=fabsf((0.5*(a+(x/a)))*(0.5*(a+(x/a)))-(a*a));
          a=0.5*(a+x/a); 
          n+=1;  
            
      }
      printf("N ravno %d\n",n);
      printf("A ravno %f\n",a);
      printf("Znachenie vyrazheniya budet %f",v);
      
     system("PAUSE");   
}
Вопрос: почему этот код нерабочий?

Добавлено через 11 минут
ну, допустим находит он не Аn, а Аn-1, но все равно плохо работает.
0
Aleksandra
4 / 4 / 2
Регистрация: 20.11.2009
Сообщений: 37
20.11.2009, 03:02  [ТС] #3
А что это за V, почему v=131.0 ?
0
ser4ega
27 / 27 / 3
Регистрация: 15.11.2009
Сообщений: 143
20.11.2009, 03:33 #4
Вопрос я задал тем, кто знает си) то есть, я не могу найти ошибку, а она есть
V - точность
131 - потому что ничего лучше не придумал, вот проснутся гуру, зайдут сюда ненароком и скажут, как присвоить V максимальное значение для ее типа)
0
valeriikozlov
Эксперт C++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
20.11.2009, 06:40 #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
#include <stdlib.h>
#include <math.h>
 
int main()
{
      double a,x,e,v, c;//nadeyus nas interesuyut malye e
      int n=1;
      printf("Vvedite A\n");scanf("%lf",&a);
      printf("Vvedite X\n");scanf("%lf",&x);
      printf("Vvedite E\n");scanf("%lf",&e);
      v=0.5*(a+(x/a));
      while (fabs(v*v-a*a)>=e) 
      {
          c=fabs(v*v-a*a);
          a=v;
          v=0.5*(a+(x/a));     
          n++;
      }
      printf("N ravno %d\n",n);
      printf("Znachenie vyrazheniya budet %lf\n",v);
      
     system("PAUSE"); 
     return 0;
}
2
ser4ega
27 / 27 / 3
Регистрация: 15.11.2009
Сообщений: 143
20.11.2009, 14:18 #6
Цитата Сообщение от valeriikozlov Посмотреть сообщение
printf("Znachenie vyrazheniya budet %lf\n",v);
заменить на
C
1
printf("Znachenie vyrazheniya budet %lf\n",fabs(v*v-a*a));
чтобы значение выражения, которое выводится, было меньше е
1
valeriikozlov
Эксперт C++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
20.11.2009, 14:25 #7
ser4ega, Не согласен,
Цитата Сообщение от Aleksandra Посмотреть сообщение
найти первый член Уn, для которого выполнено неравенство |Уn*Уn-Уn-1*Уn-1|<Е
1
ser4ega
27 / 27 / 3
Регистрация: 15.11.2009
Сообщений: 143
20.11.2009, 14:36 #8
ок, тогда то, что я написал, можно поставить ниже, для наглядности)
1
VAndal_
0 / 0 / 0
Регистрация: 22.12.2009
Сообщений: 9
24.01.2010, 13:59 #9
а весь код у кого есть?

Добавлено через 29 минут
и что за fabs он нигде не задан
0
valeriikozlov
Эксперт C++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
24.01.2010, 14:36 #10
Цитата Сообщение от VAndal_ Посмотреть сообщение
и что за fabs он нигде не задан
эта функция описана в подключенной библиотеке math.h
fabs() - это функция вычисления модуля вещественного числа
0
VAndal_
0 / 0 / 0
Регистрация: 22.12.2009
Сообщений: 9
24.01.2010, 18:35 #11
а у кого есть код проги с функциями ввода чисел изначальных и эхо-контролем?

Добавлено через 1 минуту
как запихнуть ввод чисел и проверку условия нахождения в последовательности y1,y2....
0
valeriikozlov
Эксперт C++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
24.01.2010, 19:08 #12
VAndal_, создайте лучше новую тему. Опишите там все подробно что Вас интересует. В старые темы меньше заглядывают.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.01.2010, 19:08
Привет! Вот еще темы с ответами:

Вычисление суммы ряда с заданной точностью - C++
Заданы x(abs(x)&lt;1) и точность вычислений eps. Вычислить сумму: s=x-x^2/2+X^2/3-...+(-1)^(n-1) *x^n/n+... Проверка y=ln(1+x).

Вычисление суммы ряда с заданной точностью - C++
Даны действительные x,e (x != 0,1 &gt; e &gt; 0) и целые k,a,n числа. Вычислить с точностью e сумму и указать количество учтенных слагаемых....

Вычисление бексонечной суммы с заданной точностью - C++
Вычислить бесконечную сумму ряда с заданной точностью e (e&gt;0) E=1/2^i i=1 E=\sum_{i=1}^{\propto }\frac{1}{{2}^{i}} Не знаю как...

Вычисление суммы ряда с заданной точностью - C++
Не используя стандартные функции (за исключением abs), вычислить сумму ряда с заданной точностью e: (см.вложение) Входные данные ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
24.01.2010, 19:08
Ответ Создать тему
Опции темы

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