From fd06b998901b3adac162657063bef852963443c7 Mon Sep 17 00:00:00 2001 From: array-in-a-matrix Date: Tue, 22 Nov 2022 21:31:41 -0500 Subject: [PATCH] check if command is dot or cross --- src/main.nim | 50 +++++++++++++++++++++++++------------------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/src/main.nim b/src/main.nim index 028d4cc..134ce66 100644 --- a/src/main.nim +++ b/src/main.nim @@ -1,52 +1,52 @@ import strutils, sequtils, os, procedures, strformat - +# TODO: while loop to check if inputs are valid var operation: string -case paramStr(0): - of "dot": - operation = "dot" - echo "Parameter is dot" - of "cross": - operation = "cross" - echo "Parameter is cross" - else: - # TODO: ask user to preform dot or cross product - echo "multrix" - +# if command is "dot" or "cross" preform that operation +if paramStr(0).endsWith("/dot") or paramStr(0) == "dot": + operation = "dot" + echo "Calculating the dot product:" +elif paramStr(0).endsWith("/cross") or paramStr(0) == "cross": + operation = "cross" + echo "Calculating the cross product:" +else: + echo "Would you like to preform the dot or cross product?" + operation = readLine(stdin) +# record first matrix echo "Enter number of rows in the first matrix:" -let r1: int = parseInt(readLine(stdin)) +let r1: int = parseInt(readLine(stdin)) echo "Enter number of columns in the first matrix:" let c1: int = parseInt(readLine(stdin)) var m1 = newSeqWith(r1, newSeq[float](c1)) - procedures.fillMatrix(m1, r1, c1) echo "" +# record second matrix echo "Enter number of rows in the second matrix:" let r2: int = parseInt(readLine(stdin)) echo "Enter number of columns in the second matrix:" let c2: int = parseInt(readLine(stdin)) var m2 = newSeqWith(r2, newSeq[float](c2)) - procedures.fillMatrix(m2, r2, c2) - -# calculate dot product (in procedures) - +# resultent matrix var m = newSeqWith(0, newSeq[float](0)) -m = dot(m1, m2) - - -# TODO: calculate cross product (in procedures) +case operation: + of "dot": + m = dot(m1, m2) # calculate dot product (in procedures) + of "cross": + echo "*do cross product*" # TODO: calculate cross product (in procedures) + else: + quit "Invalid matrix operation!", QuitFailure echo "\nFirst matrix is:" -procedures.printMatrix(m1) +printMatrix(m1) echo "\nSecond matrix is:" -procedures.printMatrix(m2) +printMatrix(m2) echo "\nResult matrix is:" -procedures.printMatrix(m) \ No newline at end of file +printMatrix(m) \ No newline at end of file