In: Computer Science
MUST BE SOLVED USING [R]
How to get the nth largest even value of given array? (Use while loop and if-statement for this problem. Do not use existing codes. Use your own codes). DO NOT USE ANY KINDS OF SORT FUNCTIONS.
For example, in given list [10,36,58,31,56,77,43,12,65,19], if n is defined as 2. The program will print 56.
n_largest_even<-function(array,n)
{
even_array=c();
ind=1;
for (i in array)
{if(i%%2==0)
{even_array[ind]=i;ind=ind+1; }
}
for (i in 1:length(even_array))
{a=1:(length(even_array)-i-1);
if(length(a)==1)
break;
for (j in a)
{
if (even_array[j] < even_array[j+1])
{temp=even_array[j];even_array[j]=even_array[j+1];even_array[j+1]=temp;}
}}
return (even_array[n]);
}
lis=c(10,36,58,31,56,77,43,12,65,19)
n_largest_even(lis,2)