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

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

Показать ответ
Ответ:
danil3331116
danil3331116
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
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота