Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.10.2020, 17:36   #1
Kryptonx
Новичок
Джуниор
 
Регистрация: 02.10.2020
Сообщений: 3
Восклицание Рекуррентная формула (задача)

Помогите, пожалуйста. Язык СИ. Должны выдаваться все значения a(i) до того как е не станет больше разницы a b. В моем коде выдает только a1=1.00000 и все
Код:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
void main()
{
const r=0.01;
int i=1;
float a=0, b=0;
do
{
b=a;
a=((sin(a)/cos(a))+1);
printf ("a%d = %f \n", i, a);
i++;
}
while(r>a-b);
}
Изображения
Тип файла: jpg 22222.jpg (21.1 Кб, 14 просмотров)

Последний раз редактировалось BDA; 02.10.2020 в 17:56.
Kryptonx вне форума Ответить с цитированием
Старый 02.10.2020, 18:10   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Во-первых, arctg не равен sin/cos. Есть функция atan в math.h. Во-вторых, внутри цикла самым первым ищется уже элемент a2, так как a1 уже задан. 10^(-3) равно 0.001. Запись "const r", похоже, задает интовую переменную. В условии цикла нужно проверять на меньше или равно и сравнивать с модулем, как в условии.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 02.10.2020, 18:52   #3
Kryptonx
Новичок
Джуниор
 
Регистрация: 02.10.2020
Сообщений: 3
По умолчанию Cпасибо

Все начало писать, но вот последнее значение зацикливает, не подскажите как завершить цикл?
Изображения
Тип файла: jpg 3333.jpg (93.9 Кб, 13 просмотров)
Kryptonx вне форума Ответить с цитированием
Старый 02.10.2020, 19:02   #4
Kryptonx
Новичок
Джуниор
 
Регистрация: 02.10.2020
Сообщений: 3
По умолчанию Cпасибо

Показывает лишь одно число, есть ли это действительность? или я снова накосипорил?
Kryptonx вне форума Ответить с цитированием
Старый 02.10.2020, 21:16   #5
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Код:
void main()
{
    int i = 2;
    float a = 0, b = 0, r = 0.001;
    do {
        b = a;
        a = atan(a) + 1;
        printf("a%d = %f\n", i, a);
        i++;
    } while (r <= fabs(a - b));
}
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Рекуррентная формула dimka123 Паскаль, Turbo Pascal, PascalABC.NET 6 09.11.2013 07:03
рекуррентная формула unbanned Паскаль, Turbo Pascal, PascalABC.NET 5 18.12.2010 09:23
Рекуррентная формула Максикок Помощь студентам 3 13.10.2010 15:03
Рекуррентная формула Paradoxer Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 05.06.2009 20:14
рекуррентная формула redisque Паскаль, Turbo Pascal, PascalABC.NET 2 06.05.2009 21:08