Advertisement
Guest User

zad 2 lab 11

a guest
Jan 17th, 2017
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scala 0.60 KB | None | 0 0
  1. val s = Stream.cons(1.0f,Stream.cons(2.0f,Stream.cons(3.0f,Stream.empty)));;
  2.  
  3. def potegi(list:Stream[Float]):Stream[Float] =
  4.     {
  5.    def zad1(list:Stream[Float],result:Stream[Float],n:Int,i:Int,prev:Float):Stream[Float]={
  6.      (list,result,n,i,prev) match{
  7.        case (_,_,_,_,_) if list.isEmpty=>result.reverse
  8.        case (list,result,n,i,prev) if n<=i => zad1(list.tail,result,n+1,0,1)
  9.        case (list,result,n,i,prev) => zad1(list,Stream.cons(list.head*prev,result),n,i+1,prev*(list.head))
  10.      }    
  11.    }
  12.       if(list.isEmpty) Stream.empty
  13.       else  zad1(list,Stream.empty,1,0,1)
  14.     }
  15.  
  16. potegi (s)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement