Need help with C programming math.
If you know anything about C programming please read on and see if you can help.
My version of Microsoft Visual C++ which was given to me by my school is missing files for the help section so I am unable to use that as a source. My friend reccomended these message boards to ask for help with programming. Now to the question. I have to write a C program that finds the distance between 2 locations on the earth by using latitude and longitude. I have been given the equation all I need to do is to program it. My program already asks for and collects the data from the user. All I need to do now is write the equation. Here is the equation I was given. distance = 2r(arcsin)squareroot of(sin^2((first_latitude - second_latitude)/2) + cos(first_latitude)cos(second_latitude)sin^2((first_longitude - second_longitude)/2) r being the radius of th earth in kilometers which was given to me. and everthing after the words "squareroot of" being in a big square root symbol. My problem is using trigonometry, powers, and squareroots in C. I haven't done math that advanced in C before. The extent of math I've used was basic arithmetic of + - * and /. Any help will be greatly appreciated. |
Well, I won't write the equation for you, but:
First, make sure to include the math.h header file, it will contain all the functions you need. The functions are: double cos(double x) double sin(double x) double asin(double x) /*arcsine of x*/ double pow(doublex, doubley) where x is raised to the y power. double sqrt(double x) |
So I have to write a separate function for each part of the equation?
|
shouldn't have to
Might want to break it up a little bit though because it'd be quite a hefty assignment... |
No, you can combine them into a single line, although that could involve an eye-popping amount of bracketting so you may want to split things up a bit. But you can use them inline -
double x, y, z; z = (sin(x) + cos(y); -or- z = (2 * (sin(x) + cos(y)); ..or as complicated as you need to get. |
holy crap i think i did it
it works i'm happy |
crap..i just found a flaw...direction
there is an 80 degrees north and an 80 degrees south so now i have to go write even more lines of code...damnit you can seriously find distance faster with a ruler and a map stupid computer programming |
- If it compiles, it must be right
- If it runs, ship it Welcome to programming, dude :-) |
now, if only compiling == running. ;)
[wanders off muttering about functions returning null that shouldn't, and memory access runtime errors...] |
Quote:
|
Ok I finally did it. My program now knows the difference between 80 degrees north and 80 degrees south as well as 80 degrees east and 80 degrees west.
I rule! If anyone wants to see this insane piece of work let me know. |
fwiw http://msdn.microsoft.com has pretty much all the VC documentation on it.
|
All times are GMT -8. The time now is 05:58 PM. |
Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Search Engine Optimization by vBSEO 3.6.0 PL2
© 2002-2012 Tilted Forum Project