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

Расчет среднеинтегрального значения - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ max сумма в одномерном массиве http://www.cyberforum.ru/cpp-beginners/thread309228.html
на входе имеется массив x из n целых чисел,на выходе должна быть получена максимальная сумма любой непрерывной последовательности элементов массива. пример вводимых чисел: 31 -41 59 26 -53 58 97 -93 -23 84 результат: 59+26+(-53)+97=187 формат выходных данных (test.in): в первой строке файла записанно число n. в последующих n строках записанны числа x,x,...,x. Формат выходных...
C++ Последовательность Даны натуральные числа n, а1 ..., an. Получить произведение членов последовательности а1, ..., an, удовлетворяющих условию 2^i<an<i! Вот программный код: int fact (int n) { int i,f=1; for (i=2;i<=n;i++) f*=i; return f; http://www.cyberforum.ru/cpp-beginners/thread309225.html
C++ Сформировать файл "BOOK" из фамилий любимых писателей учеников класса (ученики по очереди вводят по три фамилиии писателей). Используя сформированный
Нужна помощь. Есть задача в Паскале, нужно перевести в Си. Вот задача и код. Сформировать файл "BOOK" из фамилий любимых писателей учеников класса (ученики по очереди вводят по три фамилиии писателей). Используя сформированный файл, напечатать фамилии пяти наиболее популярных писателей. uses crt; var f:text; a:array of string;{массив фамилий} b:array of integer;{массив встречаемости}...
Написать программу на Borland C++ C++
Даны два целочисленных массива K(m) и L(n). Найти Наибольший элемент массива K, не имеющий себе равных в массиве L Помогите пожалуйста написать, я создаю 2 массива, вывожу максимальный элемент К(m) а дальше не могу, нужно написать через функцию
C++ нужно написать программу http://www.cyberforum.ru/cpp-beginners/thread309174.html
Написать программу сравнения двух файлов, должна печататься первая строка, в которой они различаются. Если файлы идентичны – вывести сообщение. Добавлено через 58 минут ребят помогите, срочно нужно
C++ Программа под visual studio 2010 сравнение методов сортировки. Написал прогу для методов сортировки используя некоторые материалы с инета, помогите с проблемой исполнения программы. Компилируется нормально, но при включении идут ошибки.... http://narod.ru/disk/14588618001/Sorting.rar.html ссылка на прогу. подробнее

Показать сообщение отдельно
Roomper
0 / 0 / 0
Регистрация: 24.01.2011
Сообщений: 4
31.05.2011, 16:09     Расчет среднеинтегрального значения
Помогите решить задачу! Вот собственно условие:

Если река покрыта ледяным покровом, то скорость струй воды, лежащих на одной и той же вертикали, можно приближенно выразить формулой: V = a + b*M*ln(x) + k*M*ln(h-x),
где a, b, M, k – постоянные; x— расстояние от дна реки. Определить среднюю скорость для заданной высоты уровня воды h. Построить график V=f(x/h). Сравнить полученную среднюю скорость определенную аналитически и численно. Решить задачу с использованием численных методов интегрирования.


Пробовал вычислить интеграл методом трапеции. Все вроде ничего, но только при вычислении логарифма вылезает ошибка: log: DOMAIN ERROR а следом Invalid floating point operation
Если кто предложит свой варинт решения, буду очень признателен.


Значения взял такие: a=15,b=1,M=2,k=1,h=15

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
62
63
64
65
66
67
68
69
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#include <math.h>
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
 
TForm1 *Form1;
double toch;
double a1,b1,M,k,h1;
 void TRAPEC(double,double,double);
 
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ButtonOKClick(TObject *Sender)
{
 
a1 = StrToFloat(Label_a->Text);
b1 = StrToFloat(Label_a->Text);
M = StrToFloat(Label_M->Text);
k = StrToFloat(Label_k->Text);
h1 = StrToFloat(Label_h->Text);
toch= StrToFloat(LabeledEditToch->Text);
 
TRAPEC(0.01,25,toch);
}
//---------------------------------------------------------------------------
void TRAPEC(double a,double b,double toch)
{
 
  double RezNew=0, RezOld=0;
  double tmp= a;
  int n=2;
 
  double h;
  h= fabs(b-a)/n;
 
  for (int i = 0; i <= n; i++)
  {
    if (i==n ||i==0) RezNew += (a1+b1*M*log(tmp)+k*M*log(h1-tmp))/2;
    else RezNew+=a1+b1*M*log(tmp)+k*M*log(h1-tmp);
    tmp+=h;
  }
  RezNew*=h;
 
  while (fabs(RezNew-RezOld)/3> toch)
  {
    n*=2;
    h= fabs(b-a)/n;
    tmp=a;
 
    RezOld=RezNew;
    RezNew=0;
    for (int i = 0; i <= n; i++)
    {
        if (i==n ||i==0) RezNew += (a1+b1*M*log(tmp)+k*M*log(h1-tmp))/2;
        else RezNew+=a1+b1*M*log(tmp)+k*M*log(h1-tmp);
        tmp+=h;
    }
    RezNew*=h;
  }
 
  Form1->LabeledEditTrapec->Text=FloatToStrF(RezNew/(b-a),ffNumber,10,5);
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 01:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru