IPB

Welcome Guest ( Log In | Register )


> programming question!
pebkac
post Feb 1 2008, 01:38 PM
Post #1


From Atlantis to Interzone


Group: Global Moderators
Posts: 2,512
Joined: 23-February 06
From: Somewhere in space and time
Member No.: 65



Ok, so I'm taking Desrosiers (yeah, he sucks) for CS 1412 and I'm working on a programming assignment right now (in C#).

What I basically have to do is create a class that stores a fraction. One of the things it's supposed to do is take a floating point number and convert that to a fraction. What my class basically does is round the floating point number to 5 decimal places, then multiplies it by 100,000. It then uses the resulting integer as the numerator and 100,000 as the denominator and simplifies that.

That works fine for the most part, but what I would also like to be able to do is have it recognize .33333 as 1/3, .66667 as 2/3, 1.33333 as 4/3, etc.

I can take the modulus of the floating point number and see if the remainder is zero, but I think that way would be really prone to rounding errors.

I don't necessarily have to implement that (he said that the method can have limitations as long as we document them), but it would be nice if I could do that. Does anyone have any advice?


--------------------
QUOTE (Spectatrix @ Oct 13 2006, 09:51 PM) *
Holy shit, pebkac, you're awesome!



"Be who you are and say what you feel, because those who mind don't matter and those who matter don't mind." - Theodor Seuss Geisel (AKA Dr. Seuss)

"An idea that is not dangerous is unworthy of being called an idea at all." - Oscar Wilde
Go to the top of the page
 
+Quote Post
 
Start new topic
Replies
Spectatrix
post Feb 1 2008, 03:10 PM
Post #2





Group: Admin
Posts: 6,906
Joined: 22-February 06
From: Austin
Member No.: 9



Oh here we go, better example (scroll to the bottom): http://math2.org/math/general/arithmetic/fradec.htm

QUOTE
Need to convert a repeating decimal to a fraction? Follow these examples:
Note the following pattern for repeating decimals:
0.22222222... = 2/9
0.54545454... = 54/99
0.298298298... = 298/999
Division by 9's causes the repeating pattern.

Note the pattern if zeros preceed the repeating decimal:
0.022222222... = 2/90
0.00054545454... = 54/99000
0.00298298298... = 298/99900
Adding zero's to the denominator adds zero's before the repeating decimal.

To convert a decimal that begins with a non-repeating part, such as 0.21456456456456456..., to a fraction, write it as the sum of the non-repeating part and the repeating part.
0.21 + 0.00456456456456456...
Next, convert each of these decimals to fractions. The first decimal has a divisor of power ten. The second decimal (which repeats) is convirted according to the pattern given above.
21/100 + 456/99900
Now add these fraction by expressing both with a common divisor
20979/99900 + 456/99900
and add.
21435/99900
Finally simplify it to lowest terms
1429/6660
and check on your calculator or with long division.
= 0.2145645645...


This post has been edited by Spectatrix: Feb 1 2008, 03:14 PM


--------------------
QUOTE (pebkac @ Oct 14 2006, 03:15 PM) *
You and your logic.

QUOTE (Foamy)

http://xkcd.com/386/
Go to the top of the page
 
+Quote Post
pebkac
post Feb 1 2008, 07:44 PM
Post #3


From Atlantis to Interzone


Group: Global Moderators
Posts: 2,512
Joined: 23-February 06
From: Somewhere in space and time
Member No.: 65



QUOTE (Spectatrix @ Feb 1 2008, 03:10 PM) *
Oh here we go, better example (scroll to the bottom): http://math2.org/math/general/arithmetic/fradec.htm


This is all well and good, but first I have to get the program to recognize that the number is repeating. I could probably analyze the number digit by digit, but as this isn't the primary focus of the project, I don't want to go into that much depth. I could also see if the remainder is 0 if I divide by a set group of integers, but that may not be of much help as there will probably be a significant number of rounding errors.


--------------------
QUOTE (Spectatrix @ Oct 13 2006, 09:51 PM) *
Holy shit, pebkac, you're awesome!



"Be who you are and say what you feel, because those who mind don't matter and those who matter don't mind." - Theodor Seuss Geisel (AKA Dr. Seuss)

"An idea that is not dangerous is unworthy of being called an idea at all." - Oscar Wilde
Go to the top of the page
 
+Quote Post
blaarg
post Feb 2 2008, 01:13 PM
Post #4





Group: Members
Posts: 926
Joined: 2-May 07
Member No.: 1,015



QUOTE (pebkac @ Feb 1 2008, 07:44 PM) *
This is all well and good, but first I have to get the program to recognize that the number is repeating.


That's easy to do with a loop depending on how you handle the number.
shrug*

QUOTE (Jim @ Feb 2 2008, 11:14 AM) *
Also, regarding the repeating number bit, you should make it an array, then, and do some fancy array manipulation.


this is what I mean when I say "depending on how you handle the number"


--------------------
Go to the top of the page
 
+Quote Post

Posts in this topic
- pebkac   programming question!   Feb 1 2008, 01:38 PM
- - Spectatrix   If it's got a repeating digit (e.g. 1/3 = 0.33...   Feb 1 2008, 02:03 PM
|- - Jim   QUOTE (Spectatrix @ Feb 1 2008, 02:03 PM)...   Feb 1 2008, 02:32 PM
|- - 2wolUTT   QUOTE (Jim @ Feb 1 2008, 02:32 PM) That p...   Feb 1 2008, 02:57 PM
- - Spectatrix   Oh here we go, better example (scroll to the botto...   Feb 1 2008, 03:10 PM
|- - pebkac   QUOTE (Spectatrix @ Feb 1 2008, 03:10 PM)...   Feb 1 2008, 07:44 PM
|- - blaarg   QUOTE (pebkac @ Feb 1 2008, 07:44 PM) Thi...   Feb 2 2008, 01:13 PM
- - Jessica   Im posting in this thread so I feel smart   Feb 1 2008, 03:12 PM
- - theIncredibleEdibleDuane   My advice...pick a new major.   Feb 1 2008, 03:20 PM
- - impala454   interesting project... now I must do it.. ass.   Feb 1 2008, 06:10 PM
- - zetec   Derosiers does suck. He was supposed to be my advi...   Feb 2 2008, 02:26 AM
|- - Jim   QUOTE (zetec @ Feb 2 2008, 02:26 AM) Dero...   Feb 2 2008, 11:14 AM
- - pebkac   Meh, I sent Derosiers an email and he basically to...   Feb 3 2008, 06:27 PM
- - impala454   I haven't gotten around to doing this yet (ref...   Feb 4 2008, 12:27 AM
- - zetec   RE: programming question!   Feb 4 2008, 01:48 PM
- - impala454   Finally got around to this in some bored time at w...   Feb 15 2008, 10:13 AM
- - Spectatrix   Too long. Cliff notes? (I kid)   Feb 15 2008, 10:22 AM
|- - impala454   QUOTE (Spectatrix @ Feb 15 2008, 10:22 AM...   Feb 15 2008, 11:30 AM
|- - Spectatrix   QUOTE (impala454 @ Feb 15 2008, 11:30 AM)...   Feb 15 2008, 11:31 AM
- - pebkac   Interesting. I can see why Desrosiers told me not...   Feb 15 2008, 10:29 AM
- - zetec   I was right about to say, why aren't you using...   Feb 15 2008, 02:03 PM


Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



Lo-Fi Version Time is now: 14th August 2026 - 02:50 PM
Skin made by: skeedio.com