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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.12.2014, 10:50   #1
Dima-91
Форумчанин
 
Регистрация: 28.09.2010
Сообщений: 198
По умолчанию Как решить уравнение. Оконное приложение

Доброе время суток. Возникла проблема с решением уравнения.
Код:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop
#include <cmath>
#include <math.h>
#include "lab2.h"
#define e 2,71828
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
Close();        
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    double a,c,z,x,y,b,t,rez,f;

        a = StrToFloat(Edit1->Text);
        c = StrToFloat(Edit2->Text);
        z = StrToFloat(Edit3->Text);

//Определим x
 {   if (z<=1)  x = pow(z,2)+1;
         else
    x = 1/pow((z-1),1/2);
     }
   // Проверка нажатой кнопки и выбор соответствующей функции
switch(RadioGroup1->ItemIndex)
{
        case 0: f=2*x;
                Memo1->Lines->Add("f(2*x)= "+FloatToStrF(f,ffFixed,8,6));
        break;
        case 1: f = pow(x,2);
                Memo1->Lines->Add("f(x^2)= "+FloatToStrF(f,ffFixed,8,6));
        break;
        case 2: f=x/3;
                Memo1->Lines->Add("f (x/3)= "+FloatToStrF(f,ffFixed,8,6));
        break;
}

       {
        b= pow(sin(pow(f,2)-1),3);
        y= fabs(x)   ;
        t= pow(e,x);
      rez = a*b+c*log(y);

Memo1->Lines->Add(" При a = "+FloatToStr(a)
         + "; c = "+FloatToStr(c)+"; z = "+ FloatToStr(z));
Memo1->Lines->Add("Результат = "+FloatToStrF(rez,ffFixed,7,4));
    Memo1->Lines->Add("e = "+FloatToStrF (e,ffFixed,7,4)+" b = "
         + FloatToStrF(b, ffFixed,7,4) + "y = " +FloatToStrF (y, ffFixed,7,4)
         + "t = " +FloatToStrF (t, ffFixed,7,4));
             }
   
}
Как использовать экспоненту, задал через define но в
Код:
t=pow(e,x)
выдает ошибку E2285.
Спасибо за помощь решил проблему с числом e. Решением стало 2.7182818 вместо 2.71828.

Возникла 1 проблема, расчеты x если z>1 производит не верное, подскажите как исправить.

Последний раз редактировалось Dima-91; 30.12.2014 в 11:53. Причина: проблема в расчетах
Dima-91 вне форума Ответить с цитированием
Старый 30.12.2014, 11:16   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А что в Си нет функции exp() ?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.12.2014, 11:34   #3
Dima-91
Форумчанин
 
Регистрация: 28.09.2010
Сообщений: 198
По умолчанию

Я наверное не точно выразил мысль я про число e = 2.7182818.
Dima-91 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Оконное приложение делфи Катерина Рыжая Помощь студентам 6 28.04.2013 19:21
оконное приложение Алексадр Демин Помощь студентам 1 09.03.2013 17:07
простейшее оконное приложение sergej735 Win Api 3 18.06.2011 10:40
оконное приложение programmm Win Api 1 16.05.2011 23:09
Как проще создать оконное приложение Mrloony Общие вопросы C/C++ 3 22.09.2008 00:00