Другие языки программирования и технологии

Программисты,нужна помощь,пожалуйста Для вас легко

Решить задания
Там и там 11 вариант
#include <stdio.h>
#include <math.h>

int main()
{
printf("Hello, world. Taylor series.\n");

double sm = 0.0; // значение функции
double x = 0.6; // заданный х
double s = 1.0; // сумма ряда при n = 0
double tmp = 1.0; // текущий член ряда
double ptmp = s;
double st = 1.0; // степень x
double eps = 0.0001; // эпсилон
double a; // абсолютная погрешность
double o; // относительная погрешность
double nd = 1; // условие остановки цикла
int sn = 1; // знак члена ряда
int n; // номер члена ряда

sm = pow (1.0 + x, -3.0); // значение функции

// разложение функции в ряд Тейлора и подсчет суммы ряда Тейлора
// предполагается, что ряд сходится - может не сходиться
n = 1;
while (nd == 1) // бесконечный цикл
{
sn *= -1;
st *= x;
tmp = sn * st * (n + 1) * (n + 2) / 2.0;
s += tmp;

// ? как определяется ?
{
tmp = s;
if (ptmp < 0) ptmp = - ptmp;// модуль
if (tmp < 0) tmp = - tmp; // модуль
float rs = ptmp - tmp; // оценка точности
if (rs < 0) rs = - rs; // модуль
if ( rs < eps ) // условие окончания цикла
nd = 0; // выход из бесконечного цикла
}

ptmp = s;
n++;

printf("n %d sn %d st %f tmp %f s %f\n", n, sn, st, tmp, s);

if (n > 50) return 0; // защита от бесконечности
}

a = sm - s; // абсолютная погрешность
if (a < 0) a = -a; // модуль
double s_1 = sm - s;
double s_2 = s;
if (s_1 < 0) s_1 = - s_1; // модуль
if (s_2 < 0) s_2 = - s_2; // модуль

o = ( s_1 / s_2 ); // относительная погрешность

printf("result: pow: %f series: %f a: %f o: %f\n", sm, s, a, o);

return 0;
}

// www.wolframalpha.com/input?i=plot%281%2B+x%29%5E%28-3%29
// www.wolframalpha.com/input?i=taylor+series+%281%2Bx%29%5E%28-3%29

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

#define N 10

int main()
{
printf("Hello, world. Maximum vector value.\n");

int vec[N]; // массив
int i; // итератор
int m; // максимум
int pm; // предыдущий максимум

srand(time(0));
for(i=0;i<N;i++) vec[i]=rand()%10;
for(i=0;i<N;i++) printf("%d ", vec[i]); printf("\n");
m = vec[0];
for(i=1;i<N;i++) if (vec[i]> m) { pm = m; m = vec[i]; }
printf("pm: %d m: %d\n", pm, m);

return 0;
}
Иван Куприянов
Иван Куприянов
42 166
Лучший ответ
В чём смысл твоего существования?
AN
Aibek Nurgaliev
68 805
Как программисты к алгебре относятся?
Сергей Дешевой Вычисления на Visual Basic