09. februar 2004 - 09:54
Der er
18 kommentarer og 1 løsning
c++ løsning af andengradsligning
hejsa, jeg har skrevet følgende kode til løsning af andengradsligning: // EX1_01.CPP // A Simple Example of a Program #include <iostream> using namespace std; int main() { int a = 0, b = 0, c = 0; int x = 0, x1 = 0, x2 = 0; int d = 0; cout << endl << "Hvad er a?: "; cin >> a; cout << endl << "Hvad er b sa?: "; cin >> b; cout << endl << "Hvad sa med c?: "; cin >> c; d = b*b-4*a*c; cout << endl << "d er lig med " << d << " "; if (d > 0) x1 = -b+d^0.5/(2*a); x2 = -b-d^0.5/(2*a); cout << endl << "x er lig med " << x1 << " og " << x2 << " "; else if (d = 0) x = -b/(2*a); cout << endl << "Og er x lig med " << x << " "; else (d < 0) cout << endl << "Ingen løsninger"; return 0; } Er der nogen der kan se hvad der er galt med den? tak
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
09. februar 2004 - 09:59
#1
^ er ikke potensopløftning, men "ekslusiv eller": XOR
09. februar 2004 - 10:02
#2
potens er pow funktionen
09. februar 2004 - 10:05
#3
hvordan skriver man så fx x^2, altså x i anden?
09. februar 2004 - 10:26
#4
pow(x,2)
09. februar 2004 - 10:27
#5
Du skal have inkludere math.h (eller cmath).
09. februar 2004 - 10:34
#6
09. februar 2004 - 10:49
#7
hvad gør cmath eller math.h og er det det samme?
09. februar 2004 - 10:50
#8
Jeg er ny i det her....:)
09. februar 2004 - 10:54
#9
der er åbenbart også noget galt med if else sætningerne, men jeg kan ikke se hvad...
09. februar 2004 - 10:59
#10
math.h er til C compilere og ældre C++ compilere cmath er til nyere C++ compilere
09. februar 2004 - 11:00
#11
Jeg tror at du mangler nogle { } i.f.m. dine if sætninger. if(...) { ... } else if(...) { ... } else { ... }
09. februar 2004 - 11:35
#12
nu er koden ændret til: // EX1_01.CPP // A Simple Example of a Program #include <iostream> #include <cmath> using namespace std; int main() { int a = 0, b = 0, c = 0; int x = 0, x1 = 0, x2 = 0; int d = 0; cout << endl << "Hvad er a?: "; cin >> a; cout << endl << "Hvad er b sa?: "; cin >> b; cout << endl << "Hvad sa med c?: "; cin >> c; d = b*b-4*a*c; cout << endl << "d er lig med " << d << " "; if (d > 0) { x1 = (-b+pow(d,0.5))/(2*a); x2 = (-b-pow(d,0.5))/(2*a); cout << endl << "x er lig med " << x1 << " og " << x2 << " "; } else if (d == 0) { x = -b/(2*a); cout << endl << "x er lig med " << x << " "; } else (d < 0); { cout << endl << "Ingen løsninger"; } return 0; } og det har hjulpet en hel del. Men pow-funktionen virker ikke helt som tilsigtet og man kan heller ikke indtaste kommatal som a b og c....?
09. februar 2004 - 11:49
#13
Prøv og erklær a,b,c,d etc. som double i.s.f. int (int=heltal).
09. februar 2004 - 11:54
#14
ok, nu er der kun en lille detalje tilbege: "Ingen løsninger" kommer frem hver gang til sidst i programmet...
09. februar 2004 - 11:59
#15
Jeg tror at: else (d < 0); { skal være: else if (d < 0) { [altså uden semikolon !]
09. februar 2004 - 13:51
#16
OK ?
09. februar 2004 - 14:21
#17
det ser ud til at virke! mange tak..:)
09. februar 2004 - 14:35
#18
forresten....hvordan laver jeg så det til en .exe microsoft visual c++?
09. februar 2004 - 14:39
#19
Når du har kørt det, så er der også en EXE fil. Under dit projekt ligger der et debug og et release directory. Din EXE fil ligger i et af dem eller begge (afhængig af hvad du har compilet til).
Kurser inden for grundlæggende programmering