Найти член последовательности, удовлетворяющий правилу - C (СИ)
Формулировка задачи:
Добрый время суток, помогите исправить программу. Условие задачи ниже.
#include "stdafx.h"
#include "stdio.h"
using System
/*
1. Сделать фиксированое eps;
2. Ограничить циклы;
3. Выод данных
*/
int main()
{
double eps, a_1, a_0;
size_t i=1;
esp=0.01;
while((eps<=0)&&(eps>=0.1))
a_1=1/((double)(i++));
do
{
a_0=a_1;
a_1=1/((double)(i++));
}
while((a_0-a_1)>=eps);
printf("a[%d]=%d",i-2,a_1); //пауза;
return 0;
}Решение задачи: «Найти член последовательности, удовлетворяющий правилу»
textual
Листинг программы
#include <stdio.h>
#include <math.h>
int main(void)
{
double ai = 1 / 2., ai1 = 1 / 1., e = 0.005;
size_t i = 2;
while ( fabs(ai - ai1) >= e )
{
++i;
ai1 = ai;
ai = 1. / i;
}
printf("%lf\n", ai);
}
Объяснение кода листинга программы
В этом коде:
- В первой строке подключаются необходимые библиотеки: iostream.h и math.h
- В функции main() объявляются переменные: ai, ai1 и e.
- ai - текущее приближение, начальное значение которого равно 1/2.
- ai1 - предыдущее приближение, начальное значение которого равно 1/1.
- e - погрешность, начальное значение которой равно 0.005.
- Следующая переменная i инициализируется значением 2.
- Затем, в цикле while, происходит сравнение текущей и предыдущей переменных.
- Если разница между ними больше или равна e, то значение i увеличивается на единицу, предыдущее значение присваивается текущему, а текущее значение вычисляется как 1/i.
- Если разница меньше e, то цикл завершается.
- Наконец, выводится на экран значение переменной ai.