Exercise:make an algorithm counting average y values.Formula y=sqrt(2*t+x)when t=(1/(x-2)) x changes[-2;2] step h=0.5.Use loop while. So I made this algorithm but I don't know what to do next.
# include < iostream >
# include < conio.h >
# include < stdio.h >
# include < math.h >
using namespace std;
void main()
{
float y,t,sum,hx,vid;
int kiekis,xp,xg,x;
sum=0;
kiekis=0;
cout <<" Iveskite xp,xg,hx"<<"\n";
cin >>xp; cin>>xg; cin>>hx;
x=xp;
while(x<=xg)
{do if((x-2)!=0)
{t=(1/(x-2));
y=sqrt(2*t+x);
sum=sum+y;
kiekis=kiekis+1;
x=x+hx;}
else
cout<<"Sprendiniu nera"<<"\n";
}
vid=sum/kiekis;
cout<<"vid= "<<vid<<"\n";
getch();
}
}
# include < iostream >
# include < conio.h > //conio.h nėra standarinė biblioteka. Nenaudok jos.
# include < stdio.h > //čia turetų būti <cstdio>, nors tau šito headerio visiškai nerieikia
# include < math.h > //tas pats: <cmath>
usingnamespace std;
void main() //Tai turetu buti int main.
{
float y,t,sum,hx,vid;
int kiekis,xp,xg,x;//Čia x yra int. Man regis tau reikia float.
sum=0;
kiekis=0;//Priskirimą galima daryti ir deklaruojant. Sakyčiau, taip švariau.
cout <<" Iveskite xp,xg,hx"<<"\n"; //Galėtum parašyti tiesiog " Iveskite xp,xg,hx\n"..
cin >>xp; cin>>xg; cin>>hx; //Čia galėtų būti cin >> xp >> xg >> hx
x=xp;
while(x<=xg) {
do//Čia ne paskalis. Šitos eilutė čia neturėtų būti. Ištrink ją.
if((x-2)!=0){
t=(1/(x-2));
y=sqrt(2*t+x);
sum=sum+y;//Čia galėtų būti sum += y;
kiekis=kiekis+1;
x=x+hx;//Jei hx = 0.5, o x yra int, ši eilutė neveiks.
}else
cout<<"Sprendiniu nera"<<"\n";
}
vid=sum/kiekis;
cout<<"vid= "<<vid<<"\n";
getch();//Funkcija iš conio.h . Galėtų būti cin.ignore().get();
//int main turetų turėti return 0;
}//Vienu } per daug.
}
As su visual studio 2010 darau. Zinau, kad kodas blogas bandau taisyt bet su bibliotekom viskas tvarkoj siaip man reikia rast y reiksmiu vidurki tai randu kieki pagal formule k=k+1, suma pagal formule sum=sum+t ir tada vidurki skaiciuosiu vid=sum/k jei gerai suprantu.
Jei naudoji nestandartines bibliotekas, tau veiks, o kitame kompiuteryje gali neveikti. Šiaip, viskas su kodu gerai, išskyrus tą 'do' ir '}' ir dar kad x yra integeris (integerius apvalina žemyn. pavyzdžiui: int x = 1; x = x + 0.5;. Tu norėtum gauti 1.5, bet dėl apvalinimo gausi 1. ). Visos kitos pastabos buvo dėl tvarkos, švaros ir portabilumo.
Sėkmės.