| Author | Message | 
		 
		| nelsonkkyy 
 
 
 
 
 | 
			
				|  Posted: 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
 
  
   |  | 
	 
		|  | 
				 
		| DtY 
 
  
 
 
 | 
			
				|  Posted: 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 
 
 
 
 
 | 
			
				|  Posted: 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 
 
  
 
 
 | 
			
				|  Posted: 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 
 
 
 
 
 | 
			
				|  Posted: 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 
 
  
 
 
 | 
			
				|  Posted: 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 
 
 
 
 
 | 
			
				|  Posted: 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 
 
 
 
 
 | 
			
				|  Posted: 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
 
  
   |  | 
	 
		|  | 
				 
		| DtY 
 
  
 
 
 | 
			
				|  Posted: 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 
 
  
 
 
 | 
			
				|  Posted: 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. 
 
 
 
 
 | 
			
				|  Posted: 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 
 
  
 
 
 | 
			
				|  Posted: 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. 
 
 
 
 
 | 
			
				|  Posted: 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 
 
  
 
 
 | 
			
				|  Posted: 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.
 
 
   
 Cheers
 |  
				|  |  | 
	 
		|  |  | 
	
 
		|  | 
				 
		| DtY 
 
  
 
 
 | 
			
				|  Posted: 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
 |  
				|  |  | 
	 
		|  |  | 
	
 
		|  | 
				 
		|  |