Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Решение нелинейного уравнения - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Музыкальный плеер http://www.cyberforum.ru/cpp-beginners/thread565605.html
Пожалуйста, напишите муз. плеер на с++, самый простой - стоп, пауза, перемотка.
C++ Как уровнять столбики в БД? Как уровнять столбики в таблице БД? Суть такая: cout<<"Имя"<<"Стоимость"<<"B розницу"<<"В наличии:"<<"До пополнения"<<endl;... http://www.cyberforum.ru/cpp-beginners/thread565587.html
C++ Работа с текстом из файлов
Добрый день всем) Помогите найти ошибку. Задача: Написать программу, которая считывает текст из файла и выводит на экран только предложения, состоящие из заданного количества слов. Код вроде...
C++ Выяснить, имеется ли среди чисел последовательности хотя бы одно число Фибоначчи
Прошу помочь с составлением программы: Даны целые числа a1, ..., an. Выяснить, имеется ли среди чисел последовательности хотя бы одно число Фибоначчи. Если да, то вывести первое по порядку такое...
C++ Создать класс окно, используя композицию и иерархию, определить окно заголовком и кнопкой. http://www.cyberforum.ru/cpp-beginners/thread565558.html
Создать класс окно, используя композицию и иерархию, определить окно заголовком и кнопкой. Класс заголовок и окно тоже должны быть определены. Навесить на кнопку функцию обратного вызова - метод...
C++ Вывести на печать все слова, у которых есть двойные буквы Помогите с программой: Задание:Создать текст. Вывести на печать все слова, у которых есть двойные буквы (класс, группа и т.д.). Текст вводится с клавиатуры. подробнее

Показать сообщение отдельно
Avazart
Эксперт С++
7213 / 5385 / 286
Регистрация: 10.12.2010
Сообщений: 23,808
Записей в блоге: 17
05.05.2012, 04:32
Вот что получилось, детельно правдо не проверял

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#include <cmath>
#include <iostream>
#include <vector>
#include <iomanip>
#include <algorithm>
using namespace std;
 
double f(int n,double a,double b[],double c[],double d)
 {
 double sum=0;
 for(int k=0;k<n;k++) sum+=  b[k]*sqrt(c[k]*a*a-d*d);
 return a-sum;
 }
//--------------------------------------------------
double dfda(int n,double a,double b[],double c[],double d)
 {
 double sum=0;
 for(int k=0;k<n;k++) sum+= b[k]*c[k]*a/sqrt(c[k]*a*a-d*d);
 return 1-sum;
 }
//--------------------------------------------------
int _tmain(int argc, _TCHAR* argv[])
{
int n=0;
cout<<"n= ";
cin>>n;
double *b= new double[n];
double *c= new double[n];
for(int k=0;k<n;k++)
 {
 cout<<"b"<<k+1<<"= "; cin>>b[k];
 cout<<"c"<<k+1<<"= "; cin>>c[k];
 }
double d;
cout<<"d= "; cin>>d;
double e=10e-15;
//cout<<"e= "; cin>>e;
double minc= *min_element(&c[0],&c[n]);
 
double a=sqrt(d*d/minc)+e;
//cout<<"a= "; cin>>a;
double fa=f(n,a,b,c,d);
const int count=100;
for(int i=0;i<count && fabs(fa)> e ;i++)
 {
 cout<<"f("<<a<<")= "<<setprecision(10)<<f(n,a,b,c,d)<<endl;
 cout<<"df("<<a<<")= "<<setprecision(10)<<dfda(n,a,b,c,d)<<endl;
 
 a= a - f(n,a,b,c,d)/dfda(n,a,b,c,d);
 fa= f(n,a,b,c,d);
 
 cout<<"a["<<i<<"]= "<<setprecision(10)<<a<<"  f("<<a<<")="
                     <<setprecision(10)<<fa<<endl;
 }
cout<<"result: a= "<<a<<endl;
 
delete[] b,c;
system("pause");
return 0;
}
//---------------------------------------------------------------------------
0
Миниатюры
Решение нелинейного уравнения  
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru