aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--challenge-101/ziameraj16/README.md118
-rw-r--r--challenge-101/ziameraj16/java/OriginContainingTriangle.java27
-rw-r--r--challenge-101/ziameraj16/kotlin/OriginContainingTriangleKotlin.kt25
3 files changed, 91 insertions, 79 deletions
diff --git a/challenge-101/ziameraj16/README.md b/challenge-101/ziameraj16/README.md
index 31216d02d8..7662230091 100644
--- a/challenge-101/ziameraj16/README.md
+++ b/challenge-101/ziameraj16/README.md
@@ -1,101 +1,61 @@
-# Fun Time
+# Origin-containing Triangle
## Java Solution
To compile the code run
```java
-javac FunTime.java
+javac OriginContainingTriangle.java
```
To run
```java
-java FunTime
+java OriginContainingTriangle
```
### Example
```bash
-/perlweeklychallenge-club/challenge-100/ziameraj16/java$ javac FunTime.java
-/perlweeklychallenge-club/challenge-100/ziameraj16/java$ java FunTime
-Enter time
-05:15 pm
-Output: 17:15
-/perlweeklychallenge-club/challenge-100/ziameraj16/java$ java FunTime
-Enter time
-05:15pm
-Output: 17:15
-/perlweeklychallenge-club/challenge-100/ziameraj16/java$ java FunTime
-Enter time
-12:00 am
-Output: 00:00
-/perlweeklychallenge-club/challenge-100/ziameraj16/java$ java FunTime
-Enter time
-12:00 pm
-Output: 12:00
-/perlweeklychallenge-club/challenge-100/ziameraj16/java$ java FunTime
-Enter time
-19:15
-Output: 07:15pm
-/perlweeklychallenge-club/challenge-100/ziameraj16/java$ java FunTime
-Enter time
-00:00
-Output: 12:00am
-/perlweeklychallenge-club/challenge-100/ziameraj16/java$ java FunTime
-Enter time
-01:00
-Output: 01:00am
-/perlweeklychallenge-club/challenge-100/ziameraj16/java$ java FunTime
-Enter time
-12:00
-Output: 12:00pm
-```
-# Triangle Sum
-## Java Solution
-
-To compile the code run
-```java
-javac TriangleSum.java
-```
-To run
-```java
-java TriangleSum
-```
-### Example
-```bash
-/perlweeklychallenge-club/challenge-100/ziameraj16/java$ javac TriangleSum.java
-/perlweeklychallenge-club/challenge-100/ziameraj16/java$ java TriangleSum
-Enter number of rows in the triangle
-4
-Enter comma separated elements of line 1
-1
-Enter comma separated elements of line 2
-2,4
-Enter comma separated elements of line 3
-6,4,9
-Enter comma separated elements of line 4
-5,1,7,2
-Output: 8
+/perlweeklychallenge-club/challenge-101/ziameraj16/java$ javac OriginContainingTriangle.java
+/perlweeklychallenge-club/challenge-101/ziameraj16/java$ java OriginContainingTriangle
+Enter first coordinates
+0,1
+Enter second coordinates
+1,0
+Enter third coordinates
+2,2
+Output: 0
+/perlweeklychallenge-club/challenge-101/ziameraj16/java$ java OriginContainingTriangle
+Enter first coordinates
+1,1
+Enter second coordinates
+-1,1
+Enter third coordinates
+0,-3
+Output: 1
+/perlweeklychallenge-club/challenge-101/ziameraj16/java$ java OriginContainingTriangle
+Enter first coordinates
+0,1
+Enter second coordinates
+2,0
+Enter third coordinates
+-6,0
+Output: 1
```
## Kotlin Solution
-
To compile the code run
```java
-kotlinc TriangleSumKotlin.kt
+kotlinc OriginContainingTriangleKotlin.kt
```
To run
```java
-kotlin TriangleSumKotlin
+kotlin OriginContainingTriangleKotlin
```
### Example
```bash
-/perlweeklychallenge-club/challenge-100/ziameraj16/kotlin$ kotlinc TriangleSumKotlin.kt
-/perlweeklychallenge-club/challenge-100/ziameraj16/kotlin$ kotlin TriangleSumKotlin
-Enter number of rows in the triangle
-4
-Enter comma separated elements of line 1
-3
-Enter comma separated elements of line 2
-3,1
-Enter comma separated elements of line 3
-5,2,3
-Enter comma separated elements of line 4
-4,3,1,3
-Output: 7
+/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/java/OriginContainingTriangle.java b/challenge-101/ziameraj16/java/OriginContainingTriangle.java
new file mode 100644
index 0000000000..299ecc78e0
--- /dev/null
+++ b/challenge-101/ziameraj16/java/OriginContainingTriangle.java
@@ -0,0 +1,27 @@
+import java.util.Arrays;
+import java.util.Scanner;
+
+public class OriginContainingTriangle {
+
+ public static void main(String[] args) {
+ Scanner scanner = new Scanner(System.in);
+ System.out.println("Enter first coordinates");
+ int[] firstCoordinate = Arrays.stream(scanner.nextLine().split(",")).mapToInt(Integer::parseInt).toArray();
+ System.out.println("Enter second coordinates");
+ int[] secondCoordinate = Arrays.stream(scanner.nextLine().split(",")).mapToInt(Integer::parseInt).toArray();
+ System.out.println("Enter third coordinates");
+ int[] thirdCoordinate = Arrays.stream(scanner.nextLine().split(",")).mapToInt(Integer::parseInt).toArray();
+ System.out.println("Output: " + doesTriangleContainsOrigin(firstCoordinate[0], firstCoordinate[1], secondCoordinate[0], secondCoordinate[1], thirdCoordinate[0], thirdCoordinate[1]));
+ }
+
+ public static int doesTriangleContainsOrigin(int x1, int y1, int x2, int y2, int x3, int y3) {
+ double area = Math.abs((x1*(y2 - y3) + x2*(y3 - y1) + x3*(y1 - y2)) / 2.0);
+
+ double area_1 = Math.abs((x2*y3 + x3*(-y2)) / 2.0);
+ double area_2 = Math.abs((x1*(-y3) + x3*y1) / 2.0);
+ double area_3 = Math.abs((x1*y2 + x2*(-y1)) / 2.0);
+
+ double aumOfAreaOfSmallTriangles = area_1 + area_2 + area_3;
+ return area == aumOfAreaOfSmallTriangles ? 1 : 0;
+ }
+}
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
+ }
+}