Click here to Skip to main content
15,894,460 members
Home / Discussions / C#
   

C#

 
GeneralRe: Int64 Array overloading problems [modified] Pin
Zerodagreez30-Jan-10 20:53
Zerodagreez30-Jan-10 20:53 
GeneralRe: Int64 Array overloading problems Pin
Dan Mos30-Jan-10 21:29
Dan Mos30-Jan-10 21:29 
GeneralRe: Int64 Array overloading problems Pin
Zerodagreez30-Jan-10 21:47
Zerodagreez30-Jan-10 21:47 
GeneralRe: Int64 Array overloading problems Pin
Dan Mos30-Jan-10 22:05
Dan Mos30-Jan-10 22:05 
GeneralRe: Int64 Array overloading problems Pin
Dan Mos30-Jan-10 22:55
Dan Mos30-Jan-10 22:55 
GeneralRe: Int64 Array overloading problems Pin
harold aptroot30-Jan-10 23:56
harold aptroot30-Jan-10 23:56 
AnswerRe: Int64 Array overloading problems Pin
OriginalGriff30-Jan-10 21:48
mveOriginalGriff30-Jan-10 21:48 
GeneralRe: Int64 Array overloading problems [modified] Pin
Zerodagreez30-Jan-10 21:53
Zerodagreez30-Jan-10 21:53 
Thanks, I will definitely check Lucas out.
This is how everything is done so far with my way:

code for button calculate

private void btnCalculate_Click_1(object sender, EventArgs e)<br />
        {<br />
            listPrimes.Items.Clear();<br />
<br />
            String str = txtN.Text.Trim();<br />
            Int64 num;<br />
<br />
            bool isNum = Int64.TryParse(str, out num);<br />
<br />
            if (isNum)<br />
            {<br />
                sieveofEratosthenes(intCreator(num), num);<br />
            }<br />
            else<br />
            {<br />
                MessageBox.Show("Invalid number", "Box for an idiot!");<br />
            }<br />
        }


code for creating integer array needed for sieve

private Int64[] intCreator(Int64 newNum)<br />
        {<br />
                try<br />
                {<br />
                    //create and initialize<br />
                    Int64[] numArray = new Int64[newNum +1];<br />
                    int i = 0;<br />
                    <br />
                    //set values<br />
                    foreach (Int64 number in numArray)<br />
                    {<br />
                            numArray[i] = i;<br />
                            i++;<br />
                    }<br />
<br />
                    return numArray;<br />
<br />
                }<br />
                catch(Exception ae)<br />
                {<br />
                    //disply error message<br />
                    MessageBox.Show(Convert.ToString(ae));<br />
                    return null;<br />
                }<br />
         <br />
        }


code for prime detection using sieve

private void sieveofEratosthenes(Int64[] newArray, Int64 newNum)<br />
        {<br />
            //Find the square root of n to decide where we end our calculation.<br />
            Int64 numRoot = Convert.ToInt64(Math.Floor(Math.Sqrt(newNum))); ;<br />
<br />
            //Initialize Boolean Array for declaring primes<br />
            Boolean[] primeArray = new Boolean[newNum + 1];<br />
            <br />
            //Set all indexes starting at 2 to true for now<br />
            Int64 newInt = 0;<br />
            foreach (Boolean flag in primeArray)<br />
            {<br />
                if (newInt == 0)<br />
                {<br />
                    primeArray[newInt] = false;<br />
                    newInt++;<br />
                }<br />
                else if (newInt == 1)<br />
                {<br />
                    primeArray[newInt] = false;<br />
                    newInt++;<br />
                }<br />
                else<br />
                {<br />
                    primeArray[newInt] = true;<br />
                    newInt++;<br />
                }<br />
            }<br />
<br />
            //Calculate up to square root of n.<br />
            for (int j = 2; j <= numRoot; j++)<br />
            {<br />
                <br />
                if (primeArray[j] == true)<br />
                {<br />
                    //if true we know its prime<br />
                    Int64 k = j;<br />
<br />
                    for (Int64 m = 0; m <= newNum; m++)<br />
                    {<br />
                        k = k + j;<br />
<br />
                        if (k <= newNum)<br />
                        {<br />
                            primeArray[k] = false;<br />
                        }<br />
                    }<br />
                }<br />
             }<br />
                for (Int64 l = 0; l <= newNum; l++)<br />
                {     <br />
                    if (primeArray[l] == true)<br />
                    {<br />
                        listPrimes.Items.Add(newArray[l]);<br />
                        listPrimes.Refresh();<br />
                    }<br />
                }<br />
<br />
            }



And that's it. Any ideas or thoughts about my code are greatly appreciated. good or bad.

modified on Sunday, January 31, 2010 4:01 AM

GeneralRe: Int64 Array overloading problems Pin
OriginalGriff30-Jan-10 22:06
mveOriginalGriff30-Jan-10 22:06 
GeneralRe: Int64 Array overloading problems Pin
Zerodagreez30-Jan-10 22:20
Zerodagreez30-Jan-10 22:20 
GeneralRe: Int64 Array overloading problems Pin
Luc Pattyn31-Jan-10 1:42
sitebuilderLuc Pattyn31-Jan-10 1:42 
AnswerRe: Int64 Array overloading problems [modified] Pin
Zerodagreez30-Jan-10 23:29
Zerodagreez30-Jan-10 23:29 
GeneralRe: Int64 Array overloading problems Pin
Dan Mos31-Jan-10 0:19
Dan Mos31-Jan-10 0:19 
GeneralRe: Int64 Array overloading problems Pin
Zerodagreez31-Jan-10 0:26
Zerodagreez31-Jan-10 0:26 
GeneralRe: Int64 Array overloading problems Pin
Dan Mos31-Jan-10 1:11
Dan Mos31-Jan-10 1:11 
GeneralRe: Int64 Array overloading problems Pin
OriginalGriff31-Jan-10 1:12
mveOriginalGriff31-Jan-10 1:12 
GeneralRe: Int64 Array overloading problems Pin
Zerodagreez31-Jan-10 7:52
Zerodagreez31-Jan-10 7:52 
AnswerRe: Int64 Array overloading problems Pin
#realJSOP31-Jan-10 0:07
mve#realJSOP31-Jan-10 0:07 
GeneralMessage Removed Pin
31-Jan-10 0:17
Zerodagreez31-Jan-10 0:17 
GeneralRe: Int64 Array overloading problems Pin
#realJSOP31-Jan-10 0:46
mve#realJSOP31-Jan-10 0:46 
GeneralMessage Removed Pin
31-Jan-10 7:48
Zerodagreez31-Jan-10 7:48 
GeneralRe: Int64 Array overloading problems Pin
PIEBALDconsult31-Jan-10 8:31
mvePIEBALDconsult31-Jan-10 8:31 
GeneralRe: Int64 Array overloading problems Pin
#realJSOP31-Jan-10 9:03
mve#realJSOP31-Jan-10 9:03 
GeneralRe: Int64 Array overloading problems Pin
Zerodagreez1-Feb-10 3:53
Zerodagreez1-Feb-10 3:53 
GeneralRe: Int64 Array overloading problems Pin
Zerodagreez1-Feb-10 14:46
Zerodagreez1-Feb-10 14:46 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.