численные методы. решение нелинейных уравнений

<< < (4/11) > >>

leahov:
вот код когда дает на линк ошибку

Код
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
 
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
//      __fastcall TForm1::TForm1(TComponent* Owner)
//        : TForm(Owner)
 
       float TForm1::f(float x)
{
       //    return x*x*x + 3*x - 2;
       return x*x*x + x - 5;
}
float TForm1::fdx(float x)
{
       return 3*x*x +1;
}
 
float TForm1::fd2x(float x)
{
   return 4*x;
}
float TForm1::absolute(float x)
{
   return x < 0 ? -x : x;
}
void TForm1::chordes(float a, float b, float eps)
{
   if(f(a)*f(b) < 0)
   {
       ShowMessage( "Chordes: a и b неправильные!");
       return;
   }
float x0 = a;
float xf = b;
   if(f(a)*fd2x(a) > 0)
  {        x0 = b;
          xf = a;
  }
int step = 1;
float x1 = x0 - f(x0)*(xf-x0)/(f(xf)-f(x0));
  while(absolute(x1-x0) > eps)
{        x0 = x1;
x1 = x0 - f(x0)*(xf-x0)/(f(xf)-f(x0));
step = step + 1;    }
 ShowMessage("Chordes: x: " + FloatToStr(x1) + "\nf(x): " +FloatToStr( f(x1)) + "\nsteps:" + FloatToStr(step));
}
 
 
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
float a, b, eps;
a = StrToFloat(Edit1->Text);
b = StrToFloat(Edit2->Text);
eps = StrToFloat(Edit3->Text);
 
//Edit1, Edit2, Edit3 это компоненты на форме, в которые вводятся a b и eps
chordes(a, b, eps);
sek(a, b, eps);
}
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
 
 
когда возвращаю
Код
     __fastcall TForm1::TForm1(TComponent* Owner)
       : TForm(Owner)
вылазит [C++ Error] Unit1.cpp(15): E2275 { expected

ставлю после tform(owner) { и в конце кода }

пишет Цитировать

Build
  [C++ Error] Unit1.cpp(16): E2089 Identifier 'f' cannot have a type qualifier
  [C++ Error] Unit1.cpp(55): E2139 Declaration missing ;
  [C++ Error] Unit1.cpp(55): E2190 Unexpected }


капец просто, часа 2 уже мучаюсь а ещё ничего не сдвинулось ???

Bakh:
Привет.
Я вообще-то тоже сторонник того, чтобы ты сам разобрался, но чувствую
время не терпит, да простит меня  Edifier.
Получи проект в BCB5.
Обрати внимание на разницу реализаций ф-ций chordes, sek и kasat.

leahov:
Bakh я тоже сторонник, ща ещё с часик посижу помучаюсь, потом посмотрю что ты сделал. Сенькю тебе вери матч

Edifier:
нифига не понял где ошибка вылетает =) выдели что ли

leahov:
Edifier всё нормально уже, разобрался, плюс у Bakha подсмотрел. Всё работает

я извеняюсь за вопрос не в тему, а как сделать ещё в borlande с++ расчет модифицированного ньютона и комбинированного метода хорд и касательных

Навигация

[0] Главная страница сообщений

[#] Следующая страница

[*] Предыдущая страница