Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.06.2014, 16:34   #1
Gyzel
Новичок
Джуниор
 
Регистрация: 14.06.2014
Сообщений: 1
По умолчанию Помогите пожалуйста написать прогу

Нужно написать программу для решения систем нелинейных уравнений модифицированным методом ньютона. Написали прогу, для частного случая, а желательно для общего случая нужно, но она тоже не работает. Помогите пожалуйста, вот текст что написали:

Код:
#include <vcl.h>
#include <math.h>
#include <stdlib.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
float f1(float x)   //задание вещественной функции
{
return x;
}

float f2(float x)
{
return -x;
}

void __fastcall TForm1::Button1Click(TObject *Sender)
{

float e=StrToFloat(Edit1->Text);

float ox1=StrToFloat(Edit2->Text);
float ox2=StrToFloat(Edit3->Text);
float x1_=0;
float x2_=0;
int n=1, M=0.43429  ;

StringGrid1->RowCount=100;
 StringGrid1->Cells[0][0]="Итерация";
 StringGrid1->Cells[1][0]="x1";
 StringGrid1->Cells[2][0]="x2";
 StringGrid1->Cells[3][0]="Погрешность";


for(int i=0;i<5;i++)
//while(abs(x1_-ox1)<e && abs(x2_-ox2)<e)
{
 x1_= ox1-((-ox1)*(3*log10(ox1)-ox2*ox2)+2*ox2*(2*ox1*ox1-ox1*ox2-5*ox1+1))
/((1+(3*M/ox1))*(-ox1)+2*ox2*(4*ox1-ox2-5));    //оператор ввода переменной х1_
 x2_= ox2-((4*ox1-ox2-5)*(ox1+3*log10(ox1)-ox2*ox2)+(1+(3*M/ox1))*(2*ox1*ox1-ox1*ox2-5*ox1+1))
/((1+(3*M/ox1))*(-ox1)+2*ox2*(4*ox1-ox2-5)); //оператор ввода переменной х2_

  ox1=x1_;
 ox2=x2_;

 StringGrid1->Cells[0][i+1]=FloatToStr(i+1);
 StringGrid1->Cells[1][i+1]=FloatToStr(x1_);
 StringGrid1->Cells[2][i+1]=FloatToStr(x2_);

 Chart1->Series[0]->AddXY(x1_,x2_);

}



}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button2Click(TObject *Sender)
{
 Chart1->Series[0]->Clear();
 StringGrid1->RowCount=4;
 for(int i=0;i<4;i++)
 { StringGrid1->Cells[0][i]="";
 StringGrid1->Cells[1][i]="";
 StringGrid1->Cells[2][i]="";
 StringGrid1->Cells[3][i]=""; }
 }
//---------------------------------------------------------------------------

Последний раз редактировалось Stilet; 14.06.2014 в 16:56.
Gyzel вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите, пожалуйста, написать прогу! BeaU Паскаль, Turbo Pascal, PascalABC.NET 4 04.06.2009 16:47
Пожалуйста помогите написать прогу на с++ girkoff Помощь студентам 3 29.03.2009 17:41
помогите написать прогу пожалуйста.... Dezolyator Помощь студентам 6 27.01.2009 20:43
Помогите пожалуйста написать прогу Juhn Паскаль, Turbo Pascal, PascalABC.NET 9 23.12.2007 22:02