aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorziameraj16 <ziameraj16@gmail.com>2021-02-28 12:49:57 +0000
committerziameraj16 <ziameraj16@gmail.com>2021-02-28 12:49:57 +0000
commit37770e6a944ec80fbbbe98206bc04b64e050cf81 (patch)
tree4348257c952c004a37d8125e5cfdd56f444dbaed
parent30f02861315dc48c8a2bf2aecc927ea8a8fbbd04 (diff)
downloadperlweeklychallenge-club-37770e6a944ec80fbbbe98206bc04b64e050cf81.tar.gz
perlweeklychallenge-club-37770e6a944ec80fbbbe98206bc04b64e050cf81.tar.bz2
perlweeklychallenge-club-37770e6a944ec80fbbbe98206bc04b64e050cf81.zip
Adding Kotlin solution for origin-containing triangle
-rw-r--r--challenge-101/ziameraj16/README.md22
-rw-r--r--challenge-101/ziameraj16/kotlin/OriginContainingTriangleKotlin.kt25
2 files changed, 47 insertions, 0 deletions
diff --git a/challenge-101/ziameraj16/README.md b/challenge-101/ziameraj16/README.md
index bdcc1e38b4..7662230091 100644
--- a/challenge-101/ziameraj16/README.md
+++ b/challenge-101/ziameraj16/README.md
@@ -37,3 +37,25 @@ Enter third coordinates
-6,0
Output: 1
```
+
+## Kotlin Solution
+To compile the code run
+```java
+kotlinc OriginContainingTriangleKotlin.kt
+```
+To run
+```java
+kotlin OriginContainingTriangleKotlin
+```
+### Example
+```bash
+/perlweeklychallenge-club/challenge-101/ziameraj16/kotlin$ kotlinc OriginContainingTriangleKotlin.kt
+/perlweeklychallenge-club/challenge-101/ziameraj16/kotlin$ kotlin OriginContainingTriangleKotlin
+Enter first coordinates
+0,1
+Enter second coordinates
+2,0
+Enter third coordinates
+-6,0
+Output: 1
+```
diff --git a/challenge-101/ziameraj16/kotlin/OriginContainingTriangleKotlin.kt b/challenge-101/ziameraj16/kotlin/OriginContainingTriangleKotlin.kt
new file mode 100644
index 0000000000..bda9b2876c
--- /dev/null
+++ b/challenge-101/ziameraj16/kotlin/OriginContainingTriangleKotlin.kt
@@ -0,0 +1,25 @@
+import java.util.*
+
+object OriginContainingTriangleKotlin {
+
+ @JvmStatic
+ fun main(args: Array<String>) {
+ val scanner = Scanner(System.`in`)
+ println("Enter first coordinates")
+ val firstCoordinate = scanner.nextLine().split(",").map { it.toInt() }.toTypedArray()
+ println("Enter second coordinates")
+ val secondCoordinate = scanner.nextLine().split(",").map { it.toInt() }.toTypedArray()
+ println("Enter third coordinates")
+ val thirdCoordinate = scanner.nextLine().split(",").map { it.toInt() }.toTypedArray()
+ println("Output: " + doesTriangleContainsOrigin(firstCoordinate[0], firstCoordinate[1], secondCoordinate[0], secondCoordinate[1], thirdCoordinate[0], thirdCoordinate[1]))
+ }
+
+ fun doesTriangleContainsOrigin(x1: Int, y1: Int, x2: Int, y2: Int, x3: Int, y3: Int): Int {
+ val area = Math.abs((x1 * (y2 - y3) + x2 * (y3 - y1) + x3 * (y1 - y2)) / 2.0)
+ val area1 = Math.abs((x2 * y3 + x3 * -y2) / 2.0)
+ val area2 = Math.abs((x1 * -y3 + x3 * y1) / 2.0)
+ val area3 = Math.abs((x1 * y2 + x2 * -y1) / 2.0)
+ val aumOfAreaOfSmallTriangles = area1 + area2 + area3
+ return if (area == aumOfAreaOfSmallTriangles) 1 else 0
+ }
+}