В
Все
У
Українська література
Г
Геометрия
Д
Другие предметы
Э
Экономика
Г
География
О
ОБЖ
М
Математика
М
МХК
Х
Химия
Қ
Қазақ тiлi
Л
Литература
У
Українська мова
О
Обществознание
Ф
Физика
А
Английский язык
А
Алгебра
И
История
Б
Беларуская мова
Б
Биология
М
Музыка
П
Право
И
Информатика
П
Психология
В
Видео-ответы
Н
Немецкий язык
Ф
Французский язык
О
Окружающий мир
Р
Русский язык
Dimatrubilov
Dimatrubilov
10.07.2022 21:37 •  Информатика

Написати код на с++ Знаходження кореня та кількості ітерацій рівняння методом дотичних(Ньютона)
Кінці відрізка та точність похибки ввести з клавіатури

Ответ:
максим1718
максим1718
30.05.2023 06:00

#include <iostream>

#include <cmath>

// Функція, для якої шукаємо корінь

double function(double x) {

   // Приклад: x^2 - 4

   return x * x - 4;

}

// Похідна функції

double derivative(double x) {

   // Похідна від x^2 - 4

   return 2 * x;

}

// Функція методу дотичних (Ньютона)

double newtonMethod(double a, double b, double epsilon) {

   double x = (a + b) / 2;  // Початкове наближення

   int iterations = 0;  // Кількість ітерацій

   

   while (std::abs(function(x)) > epsilon) {

       x = x - function(x) / derivative(x);

       iterations++;

   }

   

   std::cout << "Кількість ітерацій: " << iterations << std::endl;

   return x;

}

int main() {

   double a, b, epsilon;

   

   std::cout << "Введіть початок відрізка (a): ";

   std::cin >> a;

   

   std::cout << "Введіть кінець відрізка (b): ";

   std::cin >> b;

   

   std::cout << "Введіть точність похибки (epsilon): ";

   std::cin >> epsilon;

   

   double root = newtonMethod(a, b, epsilon);

   std::cout << "Знайдений корінь: " << root << std::endl;

   

   return 0;

}

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?