Заданный отрезок делим на 10 частей с шагом 0,2 и находим значения функции в этих точках.
Выделяем промежутки, на которых значения функции имеют разные знаки.
№ a b fa fb x fx
1 -1 -0,8 10 3,28 -0,702381 0,784438776
2 -0,8 -0,6 3,28 -1,28 -0,656140 -0,218060942
3 -0,6 -0,4 -1,28 -3,68 -0,706667 0,8832
4 -0,4 -0,2 -3,68 -3,92 -3,466667 270,48
5 -0,2 0 -3,92 -2 0,208333 2,296875
6 0 0,2 -2 2,08 0,098039 -0,269896194
7 0,2 0,4 2,08 8,32 0,133333 0,48
8 0,4 0,6 8,32 16,72 0,201905 2,129240816
9 0,6 0,8 16,72 27,28 0,283333 4,4175
10 0,8 1 27,28 40 0,371069 7,283730865 .
Как видим, корни уравнения находятся на промежутках -0,8 -0,6 и 0 0,2.
По заданию надо найти положительный корень.
Применяем метод хорд.
Δ = b - a a fb b fa
0,2 0 2,08 0,2 -2
0,101960784 0,098039216 2,08 0,2 -0,269896
0,090250128 0,109749872 2,08 0,2 -0,028536
0,089028723 0,110971277 2,08 0,2 -0,002936
fb - fa x погрешность х2-х1 абс.погр.
4,08 0,098039216 - 0,111111111 точное значение
2,349896 0,109749872 0,0117 0,001361239
2,108536 0,110971277 0,0012 0,000139834
2,082936 0,111096767 0,0001 1,43442E-05.
С точностью 0,01 ответ 0,1097.
#include "stdafx.h"
#include <iostream>
#include <windows.h>
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian");
int n = 0, m = 0;
cout << "Введите размерность двумерного массива вида mass[n][m] :" << endl;
cout << "n = ";
cin >> n;
cout << "m = ";
cin >> m;
int **mass = new int* [n];
for (int i = 0; i < n; i++)
{
mass[i] = new int[m];
}
cout << "Заполните массив по столбцам:" << endl;
for (int j = 0; j < m; j++)
{
cout << "Столбец [" << j + 1 << "]: " << endl;
for (int i = 0; i < n; i++)
{
cin >> mass[i][j];
}
}
int buffer = 0;
for (int i = 0; i < n; i++)
{
for (int j = 0; j < m; j++)
{
if (i == j)
{
if (mass[i][j] > buffer)
{
buffer = mass[i][j];
}
}
}
}
cout << "\nНаибольший элемент по главной диагонали: " << buffer << endl;
for (int i = 0; i < n; i++)
{
delete[] mass[i];
}
delete[] mass;
return 0;
}
Объяснение:
Написал в visual studio, все работает, по итогу программа выводит наибольший элемент по главной диагонали. Ввод матрицы производится по столбцам, не забудь про это.