06. oktober 1999 - 01:01Der er
28 kommentarer og 2 løsninger
beregn areal af trekant i c++ samt potens regning
hej Eksperter, jeg har lige lavet et program med et "polyfhormisk" (hvordan er det nu det staves :-))det virker udemærket, men functionen skal udregne arealet af en retvinklet trekant. Hvordan er det lige??????man gør det :-) og hvordan kan jeg iøvrigt bruge potenser i c++. f-.eks (a*2 + b*2 = c*2) Jeg har prøvet at kigge i min online hjælp og i math.h, men jeg har ikke rigtigt kunne finde det. arealet af en trekant = ½ *h *g eller hva? Hilsen Simon
Din formel "en halv højde * grundlinie" er korrekt - som chruker skriver uanset om trekanten er retvinklet eller ej. Pythagora's sætning derimod (a**2+b**2 = c**2) gælder KUN retvinklede trekanter.
Potenser får du med pow() funktionen, f.eks. sådan her:
#include <stdio.h> #include <math.h>
int main(void) { int x = 3, x2 = 0, xy = 0, y = 4, y2 = 0, z = 5, z2 = 0; xy = (int)pow(x,y); printf("x=%d i y=%d'te potens er = %d.\n", x, y, xy); x2=(int)pow(x,2); y2=(int)pow(y,2); z2 = x2 + y2; z =(int)pow(z2, (float)1/2); printf("%d**2+%d**2 = %d + %d = %d = c**2, dvs. c=%d\n", x, y, x2, y2, z2, z); return 0; }
Iøvrigt kan du finde kvadratroden, kubikroden etc. vha. samme funktion vha. pow(x, (float)1/p), hvor p så er 2 hvis det er kvadrat-roden, 3 hvis det er kubik-roden osv. (HUSK float, da 1/p ellers tolkes som int og så bliver 0.)
soepro >> Øv noget møg, jeg vidste, at jeg skulle være taget på arbejde klokken 8 i stedet for nu (8.45)
shj >> Hvis du skal blære dig en smule, så er formlen for en ikke retvinklet trekant (skulle vist passe): Areal = ½*a*b*sin(C) Hvor a og b er to sider og C er vinklen MELLEM a og b :-)
God morgen er lige stået op her kl 1400, jeg har været på nattevagt. Jeg oprettede spørgsmålet fra min arbejdsplads, derfor kan jeg ikke acceptere svar før Fredag. Men tak for de gode indlæg, jeg vil straks afprøve pow funktioenen. welcome back soepro!
jeg er it-operatør i en mellemstor edb drift. meget af selve produktionen foregår om natten, derfor arbejder jeg iøjeblikket på skiftehold. Fra 1. nov starter jeg som System engineer i et Sun Solaris og aix unixmiljø. Så er det slut med alt det natteroderi :-) Hilsen Simon
Jeg ved ikke om sådan noget morer dig. Men hvis du er interesseret, så kan jeg forsyne dig med formler, så du kan beregne areal, vinkler og sidelængder af enhver trekant, hvis du har blot 3 oplysninger om den.
3 oplysninger bestående af sidelængder eller vinkler (blot ikke 3 vinkler alene).
I øvrigt så gælder den sidste formel jeg skrev selvfølgelig også for retvinklede trekanter!
Bjarke << Det ville være fint, ´jeg har nemlig gået og ledt efter mit gamle matematik leksikon, det er tit man lige skal bruge en eller anden formel, så enhver formel er interessant for mig.
3 sider: A = sqrt( s*(s-a)*(s-b)*(s-c) ), hvor s=1/2*(a+b+c) (Herons formel)
cosinus-relationen kan så omskrives så du kan finde en vinkel vha 3 sider: C = arccos( (-c*c + a*a + b*b)/(2*a*b) ), arccos = cos i minus første
F.eks. 1 side + 2 vinkler: a/sin(A) = b/sin(B) (sinus-relationen) Det er selvfølgelig det samme som: a = b*sin(A)/sin(B)
Resten kan vist udledes af dette ved at kombinere formlerne eller bytte rundt på bogstaverne (f.eks. finder der selvfølgelig 3 sinus-relationer, men de er selvfølgelig allesammen alligevel det samme).
Håber du kan bruge det. Jeg forbeholder mig ret til at have skrevet forkert, så check lige om programmet regner rigtigt.
God fornøjelse :-)
PS: Udfordringen for dig som programmør ligger selvfølgelig i at lave programmet, så man bare indtaster de 3 data man har og så finder programmet selv ud af hvilke formler den skal bruge.......;-)
bjarke >> Hvis ikke min (efterhånden) støvede hukommelse fra Mat/Fys svigter mig, gælder sinus/cosinus relationerne mellem en trekants vinkler og sider KUN retvinklede trekanter. Det er kun Herons formel, en omskrivning af ½*h*g, som gælder alle trekanter. Husk på at sinus til en vinkel er "højden" af en retvinklet trekant med hypotenuse = 1, cosinus tilsvarende "længden" af en retvinklet trekant med hypotenuse = 1.
simon >> Hvis det kun er trekantens areal, der er interessant, og du kender to sider (a & b) & vinklen mellem de to sider (v), er formlen ganske enkelt:
areal = ½ * b * sin(v) * a
Den holder i øvrigt også for en retvinklet trekant - uanset om det er den rette eller de to 45 graders vinkler man "kender".
soepro >> hvis du har ret, så er min hukommelse endnu mere støvet end din :-) Den formel du skriver (som ofte kaldes appelsin-formlen - A=absin ) har jeg allerede skrevet lidt ovenfor i min første kommentar.
Det du tænker på er cosinus og sinus-formlerne: cos(A) = b/c (hvor vinklen C er den rette) og sin(A) = a/c De gælder kun for retvinklede trekanter, men RELATIONERNE gælder for alle trekanter, men jeg vil undlade at lave beviset her, men blot henvise til diverse gym-lærebøger ;-)
he he! der kan man så hvor et relativt simpelt matematik spørgsmål kan udvikle sig til et matematisk forum. Hvis nogens matematik hukommelse er støvet må det i sandhed være min. Så det er fedt at få nogle af de gamle læresætninger genopfrisket. Jeg har længe programmeret i visual basic, der er mange funktioner givet på forhånd hvorved man ikke har så meget brug for matematik som i c++. Jeg kan iøvrigt oplyse at jeg har sendt soepros svar på potenser til min c++ lærer da han også gerne vil have et svar *LOL* Hilsen Simon
Når jeg om engang er færdig med det her kursus kunne det være sjovt at komme igang med lidt windows programmering. jeg har både vc 5.0 og borland c++ bulder 4.0 std. jeg tror jeg fortrækker borland, findes der nogle bøger der tager windowsprogrammering i borland, step by step? Det er jo noget anderledes med VCL og API
Jeg vil foreslå dig at anskaffe Teach Yourself C++ Builder in 21 Days, som du f.eks. kan få fra Ravenholm. Den "spilder" godt nok lige 7 af de 21 dage på alm. C++ programmering, men jeg synes den er meget lærerig. Er der ikke manualer med til din BCB40 Std. ??? Der er en "svend" på næsten 800 sider med min BCB4.0 Pro hvor man kan finde svaret på næsten alt.
Hej soepro<< min bcb4 std. er en låne cd, så jeg har desværre ikke fået manualer med, men jeg har tænkt på at anskaffe mig den. ved du hvad den koster ca.
BCB 4.0 koster ca. 1195,- kr. Ravenholm på 44889900. Hvis du køber den, behøver du ikke købe TY C++ 21, for der følger TY C++ 14 med ! Ellers koster TY C++ 21 ca. 440,- kr. (Køb programmet !!!)
he he! char vbspørgsmål[max]; cout <<"det har du helt ret i Bjarke! cout <<"hvis du har et spørgsmål i vb!<<endl; cout <<"Vil jeg da gerne være behjælpelig hvis jeg kan"; cin>>vbspørgsmål;
#define max 1000000000000000000 // så har jeg lidt at bruge af - hi hi
// Ok: void sporgsmal() { cout << "Hvordan opererer man med celleværdier?"; cout << "\nJeg troede man bare kunne gøre noget i retning af:"; cout << "\n cells("A1").value = \"hej\""; cout << "\neller .text"; }
Pyha, irriterende måde at sidde og skrive på! Er man virkelig nødt til først at select'e en celle og derefter give den en værdi (hvordan sætter man den f.eks. lig med en inputbox?).
Og hvad er forskellen på select og activate?
Hvis det ikke er nok, så prøv at kigge her (hvis du gerne vil hjælpe mig:-)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.