Advertisement
KirylFromBY

Lab11_2

Jan 9th, 2019
154
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scala 1.30 KB | None | 0 0
  1. class Rownanie {
  2.   def rozwiaz(wspolcz: Array [Double]) = {
  3.     val dt = wspolcz.length  
  4.     if(dt > 3 ){
  5.       for (i<- 0 to (dt-3)){
  6.         if (wspolcz(i) != 0){
  7.           throw new IllegalArgumentException("Nimozliwo zaimplementowac rownanie")        
  8.         }    
  9.       }
  10.       throw new IllegalArgumentException("Odpowiedziej niskonczono wiele")
  11.     }  
  12.     if(wspolcz(0) == 0 && dt == 1){
  13.       println("Odpowiedziej niskonczono wiele")
  14.     }else{
  15.    
  16.     if(dt == 2 || wspolcz(2) == 0){      
  17.       println("Odpowiedz = " + ((wspolcz(0)*(-1))/wspolcz(1)))                  
  18.     }else{
  19.     if(dt == 3){
  20.       val d = wspolcz(1)*wspolcz(1) - 4*wspolcz(0)*wspolcz(2)
  21.       if(d < 0){println("rownanie nie ma rozwiazan")
  22.         }else{if (d ==0){println("Odpowiedz = " + ((wspolcz(1)*(-1))/(2*wspolcz(2))))
  23.                }else{println("Odpowiedz = " + ((wspolcz(1)*(-1)+Math.sqrt(d))/(2*wspolcz(2))) + "," + ((wspolcz(1)*(-1)-Math.sqrt(d))/(2*wspolcz(2))))}}        
  24.     }}}  
  25.  
  26.   }
  27. }  
  28. object Main {
  29.   def main(args: Array[String]){
  30.     var r1 = new Rownanie
  31.    
  32.     r1.rozwiaz(Array(1,7,3))
  33.     r1.rozwiaz(Array(1,7,0))
  34.     r1.rozwiaz(Array(1,2,3))
  35.     r1.rozwiaz(Array(1,2,3,4))
  36.     r1.rozwiaz(Array(1,2))
  37.     r1.rozwiaz(Array(0))  
  38.     r1.rozwiaz(Array(0,0,0,0,0))
  39.   }  
  40. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement