Filter: Difference between revisions
Content added Content deleted
(Properly ordering the languages) |
(Applying categories) |
||
Line 4: | Line 4: | ||
==[[C]]== |
==[[C]]== |
||
[[Category:C]] |
|||
int arr[5] = {1,2,3,4,5}; |
int arr[5] = {1,2,3,4,5}; |
||
int *result; |
int *result; |
||
Line 30: | Line 32: | ||
==[[C#]]== |
==[[C#]]== |
||
[[Category:C sharp]] |
|||
// .NET 1.x solution |
// .NET 1.x solution |
||
ArrayList array = new ArrayList( new int[] { 1, 2, 3, 4, 5 } ); |
ArrayList array = new ArrayList( new int[] { 1, 2, 3, 4, 5 } ); |
||
Line 48: | Line 52: | ||
==[[Haskell]]== |
==[[Haskell]]== |
||
[[Category:Haskell]] |
|||
ary = [1..10] |
ary = [1..10] |
||
evens = [ x | x <- ary, even x ] |
evens = [ x | x <- ary, even x ] |
||
==[[Java]]== |
==[[Java]]== |
||
[[Category:Java]] |
|||
int[] array = new int[] {1, 2, 3, 4, 5 }; |
int[] array = new int[] {1, 2, 3, 4, 5 }; |
||
List<Integer> evensList = new ArrayList<Integer>(); |
List<Integer> evensList = new ArrayList<Integer>(); |
||
Line 60: | Line 68: | ||
==[[Perl]]== |
==[[Perl]]== |
||
[[Category:Perl]] |
|||
my @list = (1, 2, 3, 4, 5, 6); |
my @list = (1, 2, 3, 4, 5, 6); |
||
my @even = grep { 0 == $_%2; } @list; |
my @even = grep { 0 == $_%2; } @list; |
||
==[[Python]]== |
==[[Python]]== |
||
[[Category:Python]] |
|||
values = range(10) |
values = range(10) |
||
evens = [x for x in values if x % 2 == 0] |
evens = [x for x in values if x % 2 == 0] |
||
==[[Ruby]]== |
==[[Ruby]]== |
||
[[Category:Ruby]] |
|||
ary = [1,2,3,4,5,6] |
ary = [1,2,3,4,5,6] |
||
even_ary = ary.select{|el|el%2==0} |
even_ary = ary.select{|el|el%2==0} |
||
Line 73: | Line 87: | ||
==[[Standard ML]]== |
==[[Standard ML]]== |
||
[[Category:Standard ML]] |
|||
val ary = [1,2,3,4,5,6]; |
val ary = [1,2,3,4,5,6]; |
||
List.filter (fn x => x mod 2 = 0) ary |
List.filter (fn x => x mod 2 = 0) ary |
Revision as of 01:50, 24 January 2007
Filter
You are encouraged to solve this task according to the task description, using any language you may know.
You are encouraged to solve this task according to the task description, using any language you may know.
Select certain elements from an Array into a new Array in a generic way. E.g., select all even numbers from an Array
C
int arr[5] = {1,2,3,4,5}; int *result; int memoryReqd = 0,length = sizeof(arr)/sizeof(arr[0]), i,j; for (i=0; i<length; i++) { if(0 == arr[i]%2) { memoryReqd++; } } result = (int*)malloc(memoryReqd*sizeof(int)); for(i=0,j=0; i<length; i++) { if(0 == arr[i]%2) { result[j++]=arr[i]; } }
// Test our resultant array for(i=0; i<memoryReqd; i++) { printf("%d\n",result[i]); }
C#
// .NET 1.x solution ArrayList array = new ArrayList( new int[] { 1, 2, 3, 4, 5 } ); ArrayList evens = new ArrayList(); foreach( int i in array ) { if( (i%2) == 0 ) evens.Add( i ); } foreach( int i in evens ) System.Console.WriteLine( i.ToString() );
// .NET 2.0 solution List<int> array = new List<int>( new int[] { 1, 2, 3, 4, 5 } ); List<int> evens = array.FindAll( delegate( int i ) { return (i%2)==0; } ); foreach( int i in evens ) System.Console.WriteLine( i.ToString() );
Haskell
ary = [1..10] evens = [ x | x <- ary, even x ]
Java
int[] array = new int[] {1, 2, 3, 4, 5 }; List<Integer> evensList = new ArrayList<Integer>(); for (int i: array) { if (i % 2 == 0) evensList.add(i); } int[] evens = evensList.toArray(new int[0]);
Perl
my @list = (1, 2, 3, 4, 5, 6); my @even = grep { 0 == $_%2; } @list;
Python
values = range(10) evens = [x for x in values if x % 2 == 0]
Ruby
ary = [1,2,3,4,5,6] even_ary = ary.select{|el|el%2==0} # => [2, 4, 6]
Standard ML
val ary = [1,2,3,4,5,6]; List.filter (fn x => x mod 2 = 0) ary