Programming C, C++, Java, PHP, Ruby, Turing, VB
Computer Science Canada 
Programming C, C++, Java, PHP, Ruby, Turing, VB  

Username:   Password: 
 RegisterRegister   
 Display only odd number in arrary 1..10
Index -> Programming, Turing -> Turing Help
Goto page 1, 2  Next
View previous topic Printable versionDownload TopicSubscribe to this topicPrivate MessagesRefresh page View next topic
Author Message
nelsonkkyy




PostPosted: Thu Oct 22, 2009 5:21 pm   Post subject: Display only odd number in arrary 1..10

What is it you are trying to achieve?
<Replace all the <> with your answers/code and remove the <>>


What is the problem you are having?
<Answer Here>


Describe what you have tried to solve this problem
<Answer Here>


Post any relevant code (You may choose to attach the file instead of posting the code if it is too long)
<Am i doing it right?>

Turing:


var num:array 1..10 of int
for i:1..10 mod
put num(i)
end for
%How to do it???!!!!!?&




Please specify what version of Turing you are using
<Answer Here>
Sponsor
Sponsor
Sponsor
sponsor
DtY




PostPosted: Thu Oct 22, 2009 5:51 pm   Post subject: RE:Display only odd number in arrary 1..10

So far you're good. You're currently displaying every number in the array, now you just need to filter it so it only shows the numbers that are odd.

You'll need
- a conditional statement (if)
- The modulo (mod) operator
nelsonkkyy




PostPosted: Thu Oct 22, 2009 6:04 pm   Post subject: RE:Display only odd number in arrary 1..10

Can anyone show me how to write it?????/
Zren




PostPosted: Thu Oct 22, 2009 6:06 pm   Post subject: Re: Display only odd number in arrary 1..10

Turing:


for i:1..9 by 2
put num(i)
end for



Or the simplier method... just pump the counter by 2 starting it out on an odd number.
nelsonkkyy




PostPosted: Thu Oct 22, 2009 7:13 pm   Post subject: Re: Display only odd number in arrary 1..10

var num: array 1..9 of int
for i:1..9 by 2
put num(i)
end for



It cannot run.
Zren




PostPosted: Thu Oct 22, 2009 7:38 pm   Post subject: Re: Display only odd number in arrary 1..10

Did you intialize the values of the variables before trying to output them?
nelsonkkyy




PostPosted: Thu Oct 22, 2009 7:54 pm   Post subject: RE:Display only odd number in arrary 1..10

HOW to intialize the values of the variables??
darkn00b




PostPosted: Thu Oct 22, 2009 8:15 pm   Post subject: RE:Display only odd number in arrary 1..10

So you need to give the nums a value. You can do this a few ways, on is:

var num: array 1..9 of int
for i:1..9
get num(i)
end for
for i:1..9 by 2
put num(i)
end for

This will allow you the person who runs the program to type in a value for all of the nums, and then it outputs only the odd ones.
Sponsor
Sponsor
Sponsor
sponsor
DtY




PostPosted: Fri Oct 23, 2009 6:24 am   Post subject: Re: Display only odd number in arrary 1..10

Zren @ Thu Oct 22, 2009 6:06 pm wrote:
Turing:


for i:1..9 by 2
put num(i)
end for



Or the simplier method... just pump the counter by 2 starting it out on an odd number.

That shows odd indices, not the odd numbers
btiffin




PostPosted: Fri Oct 23, 2009 11:02 pm   Post subject: RE:Display only odd number in arrary 1..10

On Odd Even tests.

number AND 1

If the result is 0, the number is even.
If the result is 1, (low bit set), the number is odd.

Cheers
andrew.




PostPosted: Sat Oct 24, 2009 7:26 am   Post subject: RE:Display only odd number in arrary 1..10

Simple way:
Turing:
for i : 1..9 by 2
    put i
end for


Harder way:
Turing:
for i : 1..9
    if not i mod 2 = 0 then
        put i
    end if
end for
DtY




PostPosted: Sat Oct 24, 2009 7:35 am   Post subject: Re: RE:Display only odd number in arrary 1..10

andrew. @ Sat Oct 24, 2009 7:26 am wrote:
Simple way:
Turing:
for i : 1..9 by 2
    put i
end for


Harder way:
Turing:
for i : 1..9
    if not i mod 2 = 0 then
        put i
    end if
end for

Again, he's looking for odd numbers in the array, not the items with odd indices, so the first one is not right, the second one should be if num(i) mod 2 = 1
andrew.




PostPosted: Sat Oct 24, 2009 9:43 am   Post subject: RE:Display only odd number in arrary 1..10

Oh I didn't understand the question. I thought he wanted the odd numbers in a range, not the odd numbers out of a list of numbers.
btiffin




PostPosted: Sat Oct 24, 2009 11:31 am   Post subject: Re: Display only odd number in arrary 1..10

Crusty Old guy again

Try and not use if num(i) mod 2 = 1, when [b]num(i) and 1 = 1[/i] will be more efficient.

It's not a huge deal, but it is a deal.
Some REBOL timings;
Using modulo and integer arithmetic
code:

>> dt [for i 0 100000 1 [unless equal? 0 MOD i 2 [print i]]]
...
99993
99995
99997
99999
== 0:00:02.033888

delta time of 2 seconds.

Using logical and and bitwise 'arithmetic'
code:

>> dt [for i 0 100000 1 [unless equal? 0 i AND 1 [print i]]]
99993
99995
99997
99999
== 0:00:01.563786

delta time of 1.6 seconds.

So, if you write code that has to check 100,000 numbers for parity through your life time, using bit-wise you'll get like a whole extra half second of 'not waiting around' life to live.

Choose life, aim for efficient code.

Smile

Cheers
DtY




PostPosted: Sat Oct 24, 2009 12:25 pm   Post subject: Re: Display only odd number in arrary 1..10

btiffin @ Sat Oct 24, 2009 11:31 am wrote:
aim for efficient code.

This might actually be relevant if it was posted anywhere but Turing help :p
But yeah, using bitwise and would be considerably faster because it doesn't actually need to divide, and learning optimizations like that will be helpful in the future
Display posts from previous:   
   Index -> Programming, Turing -> Turing Help
View previous topic Tell A FriendPrintable versionDownload TopicSubscribe to this topicPrivate MessagesRefresh page View next topic

Page 1 of 2  [ 17 Posts ]
Goto page 1, 2  Next
Jump to:   


Style:  
Search: