Подскажите пожалуйста в чём проблема
Дано
y=x^2-A*sin(x)
0.5<=x<=2
Определить
у, при 1<=A<=3 и
0.5<=x<=2
Ymax; ymin”
Ну так вот я написал вот эту прогу но она у меня что то не работает не как не могу понять в чём дело.
float F (float x,float A);
float A,x,y;
float ymin,ymax,xmin,xmax;
clrscr();
for (A=1;A<=10;A++)
{
ymax=-1e10, ymin=1e10;
Edit1->Text=A;
for (x=0.5;x<=2;x=+0.1);
{
y=F(x,A);
if(y>ymax)
{
ymax=y;
xmax=x;
}
if(y<ymin)
{
ymin=y;
xmin=x;
}
getch();
}
getch();
}
float F (float x,float A);
{
return (x,2)-A*sin(x)
}
И ещё один глупый вопрос как результаты можно вывести в ListBox просто в Bilder е я програмить начал совсем не давно ещё не до конца освоился. Так и написать
ListBox1->Items->Add =Переменная так или Как то по другому.
Для начала есть такая вещь как дебагер, с помощью которого ищются ошибки. Какая и где ошибка вылетает??? Если A задано в промежутке от 1 до 3, то зачем его перебирать от 1 до 10??? В качестве начальных значений минимумов и максимумов функции лучше брать значения первой итерации. В ListBox всё выводится так: ListBox1->Items->Add("zzz");
[C++ Error] Unit1.cpp(47): E2467 '_fastcall TForm1::Button1Click(TObject *)' cannot return a value
[C++ Error] Unit1.cpp(47): E2378 Return statement missing ;
[C++ Error] Unit1.cpp(4'8'): E2134 Compound statement missing }
[C++ Warning] Unit1.cpp(4'8'): W8004 'xmax' is assigned a value that is never used
[C++ Warning] Unit1.cpp(4'8'): W8004 'xmin' is assigned a value that is never used
Ему чем то не нравится функция не могу понять по чему в роде как
{
return (x,2)-A*sin(x)
}
#include <math.h>
#include <stdio.h>
#include <conio.h>
Подключил что не так не как не врублюсь. Заранее спасибо.
что за глюки со смайликами???
Видимо на этом месте должно быть pow(x,2), или что проще x*x. Видимо функция должна выглядеть так:
x*x-A*sin(x)
[C++ Error] Unit1.cpp(48): E2141 Declaration syntax error
[C++ Error] Unit1.cpp(62): E2139 Declaration missing ;
[C++ Error] Unit1.cpp(62): E2134 Compound statement missing }
[C++ Warning] Unit1.cpp(62): W8004 'xmax' is assigned a value that is never used
[C++ Warning] Unit1.cpp(62): W8004 'xmin' is assigned a value that is never used
void __fastcall TForm1::Button1Click(TObject *Sender)
{
float F (float x,float A);
float A,x,y;
float ymin,ymax,xmin,xmax;
clrscr();
for (A=1;A<=3;A++)
{
ymax=-1e10, ymin=1e10;
for (x=0.5;x<=2;x=x+0.1);
{
y=F(x,A);
if(y>ymax)
{
ymax=y;
xmax=x;
}
if(y<ymin)
{
ymin=y;
xmin=x;
}
getch();
}
getch();
}
float F (float x,float A)
{
return (x^2)-A*sin(x);
}
}
Напиши вот так:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
float F (float x,float A);
float A,x,y;
float ymin,ymax,xmin,xmax;
for (A=1;A<=3;A++)
{
ymax=-1e10, ymin=1e10;
for (x=0.5;x<=2;x=x+0.1);
{
y=F(x,A);
if(y>ymax)
{
ymax=y;
xmax=x;
}
if(y<ymin)
{
ymin=y;
xmin=x;
}
}
}
}
float F (float x,float A)
{
return x*x-A*sin(x);
}
Всё работает только мне нужно что бы прога печатала не конечный результат а все результаты во время выполнения цикла то есть начиная от 0.5 до 2
Вот так
A=1
X=0,5 y=1
X=0,6 y=0,4
Потом
A=2
X=0,5 y=1,0
X=0,6 y=0,1
A=3
X=0,5 y=1,5
X=0,6 y=1,4
И так далее что то я не понял как это можно сделать я имею в виду как это в ListBox загнать. Заранее спасибо
for (A=1;A<=3;A++)
{
ymax=-1e10, ymin=1e10;
listox->Items->Add("A="+intostr(A));
for (x=0.5;x<=2;x=x+0.1);
{
y=F(x,A);
if(y>ymax)
{
ymax=y;
xmax=x;
}
if(y<ymin)
{
ymin=y;
xmin=x;
}
}
listox->Items->Add("Xmax="+floattostr(xmax)+" Ymax="+floattostr(ymax));
listox->Items->Add("Xmin="+floattostr(xmin)+" Ymin="+floattostr(ymin));
}
void __fastcall TForm1::Button1Click(TObject *Sender)
{
float A,x,y;
float ymin,ymax,xmin,xmax;
for (A=1;A<=1;A++)
{
ymax=-1e10;
ymin=1e10;
ListBox1->Items->Add("A="+FloatToStr(A));
for (x=0.5;x<=2;x=x+0.1)
{
y=F(x,A);
if(y>ymax)
{
ymax=y;
xmax=x;
}
if(y<ymin)
{
ymin=y;
xmin=x;
}
}
ListBox2->Items->Add("Xmax="+FloatToStr(xmax)+" Ymax="+FloatToStr(ymax));
ListBox3->Items->Add("Xmin="+FloatToStr(xmin)+" Ymin="+FloatToStr(ymin));
ListBox4->Items->Add("X="+FloatToStr(x)+" Y="+FloatToStr(y));
}
}
float F (float x,float A)
{
return x*x-A*sin(x);
}
ну так не кто бы не мог помочь тупому ламеру
Цитата:
Originally posted by WD-40
ну так не кто бы не мог помочь тупому ламеру
ну так не кто бы не мог помочь тупому ламеру
Поставь добавление в listbox внутри цикла for.
:}