Vad kan man säga att det här har för funktion??? Eftersom du har tagit koden helt ur sitt sammanhang för den inte något vettigt allas! Raden "X=..." ska dessutom vara bortkommenterad! När kodbiten sitter där den ska så kontrollerar den som x1 (som är ett nollställe till ekvationen) ligger närmare pi än den som förut var närmast. Om den kördet sparas värdena på a, b och c ner. Eftersom jag skrev större delen av koden så vet jag var jag skrev den, och i vilket sammanhang. JohanD har naturligtvis rätt i det han säger. Ok, det var alltså den versionen ni pratade om, jag skrev också om programmet igårkväll (i en ny tråd av SimonCooler), men "någon" raderade den tråden... Min version kallade nollställena för x1 och x2, därför gissar jag att den inklistrade kodsnmutten är en blandning mellan min version och någon annan bit från den ursprungliga tråden (som jag inte läste).C++
vad är det den gör???
x = (sqrt(b*b-4*a*c)-b)/2*a;
if(fabs(x1-pi) < fabs(Nearest-pi))
{
Nearest=x1;
a1=a;
b1=b;
c1=c;
}Sv: C++
/JohanSv: C++
Vad jag inte kan förstå är hur du, Alex, kan få för dig att flytta ur en liten del av koden hit och ställa frågor om den, istället för att ställa frågorna där de hör hemma.
Läser du vad jag skriver i det inlägget där koden först publiceras så kan jag inte tänka mig att du inte förstår.
Koden är däremot tyvärr helt nerklottrad, och jag har därför skrivit om hela koden åt SimonCooler. Detta kommer jag med största sannolikhet aldrig någonsin göra igen, men eftersom koden som stod i tråden var såpass förstörd känner jag att det inte är möjligt att folk ska behöva se vad det handlar om.
Koden är som följer:
const double pi=3.14159265358979;
int a, b, c, a0, b0, c0; //a, b, c är koefficienterna, a0... är de bästa värdena
double x, x0;
for(a=-10; a<=10; a++)
{
if (a==0) a++;
for(b=-10; b<=10; b++)
{
for(c=-10; c<=10; c++)
{
x = (sqrt(b*b-4*a*c)-b)/2*a;
if(fabs(x-pi) < fabs(x0-pi))
{
a0=a;
b0=b;
c0=c;
x0=x;
}
x = (sqrt(b*b-4*a*c)+b)/2*a;
if(fabs(x-pi) < fabs(x0-pi))
{
a0=a;
b0=b;
c0=c;
x0=x;
}
}
}
}
cout << a0 << " " << b0 << " " << c0;Sv: C++
/Johan