main
Andreas Wurst 2025-05-21 09:32:57 +02:00
parent baf31141c8
commit aec21d1f9a
8 changed files with 468 additions and 84 deletions

View File

@ -0,0 +1,10 @@
<mxfile host="Electron" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/27.0.5 Chrome/134.0.6998.205 Electron/35.3.0 Safari/537.36" version="27.0.5">
<diagram name="Seite-1" id="aPCFXwF-vZnQlIyut5H0">
<mxGraphModel dx="1213" dy="828" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
</root>
</mxGraphModel>
</diagram>
</mxfile>

View File

@ -0,0 +1,195 @@
<mxfile host="Electron" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/27.0.5 Chrome/134.0.6998.205 Electron/35.3.0 Safari/537.36" version="27.0.5">
<diagram name="Seite-1" id="_YTyW-NZhgzYyk96uL8e">
<mxGraphModel dx="1188" dy="701" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="WQNHvwU35Rzmy3TKDHLz-51" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=none;movable=0;resizable=0;rotatable=0;deletable=0;editable=0;locked=1;connectable=0;" vertex="1" parent="1">
<mxGeometry x="40" y="140" width="710" height="740" as="geometry" />
</mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-3" value="" style="group" vertex="1" connectable="0" parent="1">
<mxGeometry x="590" y="760" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-2" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="WQNHvwU35Rzmy3TKDHLz-3">
<mxGeometry width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-1" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#000000;" vertex="1" parent="WQNHvwU35Rzmy3TKDHLz-3">
<mxGeometry x="5" y="5" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-14" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="WQNHvwU35Rzmy3TKDHLz-6" target="WQNHvwU35Rzmy3TKDHLz-9">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-6" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#000000;" vertex="1" parent="1">
<mxGeometry x="399" y="180" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-12" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="WQNHvwU35Rzmy3TKDHLz-7" target="WQNHvwU35Rzmy3TKDHLz-9">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="250" y="275" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-7" value="int[][] matrix" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="210" y="120" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-13" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="WQNHvwU35Rzmy3TKDHLz-8" target="WQNHvwU35Rzmy3TKDHLz-9">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="580" y="275" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-8" value="int[] scalar" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="540" y="120" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-16" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="WQNHvwU35Rzmy3TKDHLz-9" target="WQNHvwU35Rzmy3TKDHLz-15">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-9" value="" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="399" y="260" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-17" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="WQNHvwU35Rzmy3TKDHLz-15" target="WQNHvwU35Rzmy3TKDHLz-22">
<mxGeometry relative="1" as="geometry">
<mxPoint x="260" y="325" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-18" value="matrix hat das 3x3 Format" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="WQNHvwU35Rzmy3TKDHLz-17">
<mxGeometry x="0.1722" y="-1" relative="1" as="geometry">
<mxPoint x="23" y="-14" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-19" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="WQNHvwU35Rzmy3TKDHLz-15" target="WQNHvwU35Rzmy3TKDHLz-21">
<mxGeometry relative="1" as="geometry">
<mxPoint x="600" y="325" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-20" value="matrix hat nicht das 3x3 Format" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="WQNHvwU35Rzmy3TKDHLz-19">
<mxGeometry x="-0.2171" relative="1" as="geometry">
<mxPoint x="14" y="-15" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-15" value="" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="399" y="310" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-50" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="WQNHvwU35Rzmy3TKDHLz-21" target="WQNHvwU35Rzmy3TKDHLz-49">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="660" y="475" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-21" value="matrix = null" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="620" y="310" width="80" height="30" as="geometry" />
</mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-40" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="WQNHvwU35Rzmy3TKDHLz-22" target="WQNHvwU35Rzmy3TKDHLz-34">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-22" value="int außenPosition = 0" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="214" y="350" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-24" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="WQNHvwU35Rzmy3TKDHLz-23" target="WQNHvwU35Rzmy3TKDHLz-49">
<mxGeometry relative="1" as="geometry">
<mxPoint x="480" y="475" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-25" value="außenPosition &amp;gt;= 3" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="WQNHvwU35Rzmy3TKDHLz-24">
<mxGeometry x="-0.0561" y="1" relative="1" as="geometry">
<mxPoint x="-44" y="-14" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-29" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="WQNHvwU35Rzmy3TKDHLz-23" target="WQNHvwU35Rzmy3TKDHLz-28">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-48" value="außenPosition &amp;lt; 3" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="WQNHvwU35Rzmy3TKDHLz-29">
<mxGeometry x="-0.4048" y="-2" relative="1" as="geometry">
<mxPoint x="-48" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-23" value="" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="259" y="460" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-38" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="WQNHvwU35Rzmy3TKDHLz-28" target="WQNHvwU35Rzmy3TKDHLz-36">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-28" value="int innenPosition = 0" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="214" y="520" width="120" height="30" as="geometry" />
</mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-31" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="WQNHvwU35Rzmy3TKDHLz-30" target="WQNHvwU35Rzmy3TKDHLz-33">
<mxGeometry relative="1" as="geometry">
<mxPoint x="389" y="645" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-32" value="innenPosition &amp;gt;= 3" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="WQNHvwU35Rzmy3TKDHLz-31">
<mxGeometry x="-0.0892" y="2" relative="1" as="geometry">
<mxPoint x="1" y="-14" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-43" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="WQNHvwU35Rzmy3TKDHLz-30" target="WQNHvwU35Rzmy3TKDHLz-42">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-44" value="innenPosition &amp;lt; 3" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="WQNHvwU35Rzmy3TKDHLz-43">
<mxGeometry x="-0.0903" y="2" relative="1" as="geometry">
<mxPoint x="48" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-30" value="" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="259" y="627.5" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-35" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="WQNHvwU35Rzmy3TKDHLz-33" target="WQNHvwU35Rzmy3TKDHLz-34">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="119" y="425" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-33" value="außenPosition++" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="69" y="630" width="100" height="25" as="geometry" />
</mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-39" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="WQNHvwU35Rzmy3TKDHLz-34" target="WQNHvwU35Rzmy3TKDHLz-23">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-34" value="" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="259" y="410" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-37" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="WQNHvwU35Rzmy3TKDHLz-36" target="WQNHvwU35Rzmy3TKDHLz-30">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-36" value="" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="259" y="570" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-41" value="matrix[außenPosition][innenPosition] = matrix[außenPosition][innenPosition] * scalar" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="10" y="1110" width="260" height="50" as="geometry" />
</mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-46" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="WQNHvwU35Rzmy3TKDHLz-42" target="WQNHvwU35Rzmy3TKDHLz-45">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-42" value="matrix[außenPosition][innenPosition] *= scalar" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="169" y="730" width="210" height="50" as="geometry" />
</mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-47" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="WQNHvwU35Rzmy3TKDHLz-45" target="WQNHvwU35Rzmy3TKDHLz-36">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="404" y="835" />
<mxPoint x="404" y="585" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-45" value="innenPosition++&amp;nbsp;" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="224" y="820" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-53" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="WQNHvwU35Rzmy3TKDHLz-49" target="WQNHvwU35Rzmy3TKDHLz-52">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-49" value="" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="510" y="460" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-52" value="return matrix" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="480" y="860" width="90" height="40" as="geometry" />
</mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-54" value="Matrix Multiplikation" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=19;" vertex="1" parent="1">
<mxGeometry x="69" y="180" width="121" height="60" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

View File

@ -0,0 +1,148 @@
<mxfile host="Electron" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/27.0.5 Chrome/134.0.6998.205 Electron/35.3.0 Safari/537.36" version="27.0.5">
<diagram name="Seite-1" id="aPCFXwF-vZnQlIyut5H0">
<mxGraphModel dx="1103" dy="753" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="TK5cTf4QLPUNcIzFpNdl-46" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=none;" vertex="1" parent="1">
<mxGeometry x="60" y="140" width="670" height="560" as="geometry" />
</mxCell>
<mxCell id="TK5cTf4QLPUNcIzFpNdl-1" value="" style="group" vertex="1" connectable="0" parent="1">
<mxGeometry x="534" y="610" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="TK5cTf4QLPUNcIzFpNdl-2" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="TK5cTf4QLPUNcIzFpNdl-1">
<mxGeometry width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="TK5cTf4QLPUNcIzFpNdl-3" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#000000;" vertex="1" parent="TK5cTf4QLPUNcIzFpNdl-1">
<mxGeometry x="5" y="5" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="TK5cTf4QLPUNcIzFpNdl-4" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="TK5cTf4QLPUNcIzFpNdl-5" target="TK5cTf4QLPUNcIzFpNdl-11">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="TK5cTf4QLPUNcIzFpNdl-5" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#000000;" vertex="1" parent="1">
<mxGeometry x="428" y="190" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="TK5cTf4QLPUNcIzFpNdl-6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="TK5cTf4QLPUNcIzFpNdl-7" target="TK5cTf4QLPUNcIzFpNdl-11">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="279" y="285" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="TK5cTf4QLPUNcIzFpNdl-7" value="Übergabe vom Vektor int[] vector" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="219" y="120" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="TK5cTf4QLPUNcIzFpNdl-8" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="TK5cTf4QLPUNcIzFpNdl-9" target="TK5cTf4QLPUNcIzFpNdl-11">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="580" y="285" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="TK5cTf4QLPUNcIzFpNdl-9" value="Übergabe vom Scalar int scalar" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="530" y="120" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="TK5cTf4QLPUNcIzFpNdl-10" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="TK5cTf4QLPUNcIzFpNdl-11" target="TK5cTf4QLPUNcIzFpNdl-16">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="TK5cTf4QLPUNcIzFpNdl-11" value="" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="428" y="270" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="TK5cTf4QLPUNcIzFpNdl-12" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="TK5cTf4QLPUNcIzFpNdl-16" target="TK5cTf4QLPUNcIzFpNdl-20">
<mxGeometry relative="1" as="geometry">
<mxPoint x="289" y="335" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="TK5cTf4QLPUNcIzFpNdl-13" value="vector ist nicht null" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="TK5cTf4QLPUNcIzFpNdl-12">
<mxGeometry x="0.1722" y="-1" relative="1" as="geometry">
<mxPoint x="23" y="-14" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="TK5cTf4QLPUNcIzFpNdl-14" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="TK5cTf4QLPUNcIzFpNdl-16" target="TK5cTf4QLPUNcIzFpNdl-43">
<mxGeometry relative="1" as="geometry">
<mxPoint x="649" y="335" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="TK5cTf4QLPUNcIzFpNdl-15" value="vector ist null" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="TK5cTf4QLPUNcIzFpNdl-14">
<mxGeometry x="-0.2171" relative="1" as="geometry">
<mxPoint x="-38" y="-15" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="TK5cTf4QLPUNcIzFpNdl-16" value="" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="428" y="320" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="TK5cTf4QLPUNcIzFpNdl-19" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="TK5cTf4QLPUNcIzFpNdl-20" target="TK5cTf4QLPUNcIzFpNdl-36">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="TK5cTf4QLPUNcIzFpNdl-20" value="int position = 0" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="243" y="360" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="TK5cTf4QLPUNcIzFpNdl-21" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="TK5cTf4QLPUNcIzFpNdl-25" target="TK5cTf4QLPUNcIzFpNdl-43">
<mxGeometry relative="1" as="geometry">
<mxPoint x="509" y="485" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="TK5cTf4QLPUNcIzFpNdl-22" value="position &amp;gt;= Länge vom vector" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="TK5cTf4QLPUNcIzFpNdl-21">
<mxGeometry x="-0.0561" y="1" relative="1" as="geometry">
<mxPoint x="-13" y="-14" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="TK5cTf4QLPUNcIzFpNdl-23" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="TK5cTf4QLPUNcIzFpNdl-25" target="TK5cTf4QLPUNcIzFpNdl-45">
<mxGeometry relative="1" as="geometry">
<mxPoint x="303" y="530" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="TK5cTf4QLPUNcIzFpNdl-24" value="Position &amp;lt; Länge vom vector" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="TK5cTf4QLPUNcIzFpNdl-23">
<mxGeometry x="-0.4048" y="-2" relative="1" as="geometry">
<mxPoint x="-72" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="TK5cTf4QLPUNcIzFpNdl-25" value="" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="288" y="470" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="TK5cTf4QLPUNcIzFpNdl-28" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="TK5cTf4QLPUNcIzFpNdl-45" target="TK5cTf4QLPUNcIzFpNdl-34">
<mxGeometry relative="1" as="geometry">
<mxPoint x="418" y="655" as="targetPoint" />
<mxPoint x="288" y="652.5" as="sourcePoint" />
<Array as="points">
<mxPoint x="303" y="652" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="TK5cTf4QLPUNcIzFpNdl-33" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="TK5cTf4QLPUNcIzFpNdl-34" target="TK5cTf4QLPUNcIzFpNdl-36">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="148" y="435" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="TK5cTf4QLPUNcIzFpNdl-34" value="position++" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="98" y="640" width="100" height="25" as="geometry" />
</mxCell>
<mxCell id="TK5cTf4QLPUNcIzFpNdl-35" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="TK5cTf4QLPUNcIzFpNdl-36" target="TK5cTf4QLPUNcIzFpNdl-25">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="TK5cTf4QLPUNcIzFpNdl-36" value="" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="288" y="420" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="TK5cTf4QLPUNcIzFpNdl-42" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="TK5cTf4QLPUNcIzFpNdl-43" target="TK5cTf4QLPUNcIzFpNdl-2">
<mxGeometry relative="1" as="geometry">
<mxPoint x="554" y="600" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="TK5cTf4QLPUNcIzFpNdl-43" value="" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="539" y="470" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="TK5cTf4QLPUNcIzFpNdl-44" value="Vektor Scalarmultiplikation" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=19;" vertex="1" parent="1">
<mxGeometry x="98" y="190" width="121" height="60" as="geometry" />
</mxCell>
<mxCell id="TK5cTf4QLPUNcIzFpNdl-45" value="Vectorwert bei position mit scalar multiplizieren und an die gleiche Stelle setzen" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="213" y="550" width="180" height="60" as="geometry" />
</mxCell>
<mxCell id="TK5cTf4QLPUNcIzFpNdl-47" value="Andreas Wurst 1720808&lt;br&gt;&lt;div&gt;Denis Shala 3022668&lt;/div&gt;" style="text;html=1;align=right;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
<mxGeometry x="640" y="40" width="150" height="40" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

View File

@ -1,172 +1,170 @@
<mxfile host="Electron" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/27.0.5 Chrome/134.0.6998.205 Electron/35.3.0 Safari/537.36" version="27.0.5"> <mxfile host="Electron" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/27.0.5 Chrome/134.0.6998.205 Electron/35.3.0 Safari/537.36" version="27.0.5">
<diagram name="Seite-1" id="_YTyW-NZhgzYyk96uL8e"> <diagram name="Seite-1" id="_YTyW-NZhgzYyk96uL8e">
<mxGraphModel dx="1188" dy="701" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0"> <mxGraphModel dx="1213" dy="828" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root> <root>
<mxCell id="0" /> <mxCell id="0" />
<mxCell id="1" parent="0" /> <mxCell id="1" parent="0" />
<mxCell id="WQNHvwU35Rzmy3TKDHLz-51" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=none;movable=0;resizable=0;rotatable=0;deletable=0;editable=0;locked=1;connectable=0;" vertex="1" parent="1"> <mxCell id="WQNHvwU35Rzmy3TKDHLz-51" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=none;movable=0;resizable=0;rotatable=0;deletable=0;editable=0;locked=1;connectable=0;" parent="1" vertex="1">
<mxGeometry x="40" y="140" width="710" height="740" as="geometry" /> <mxGeometry x="40" y="140" width="710" height="740" as="geometry" />
</mxCell> </mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-3" value="" style="group" vertex="1" connectable="0" parent="1"> <mxCell id="WQNHvwU35Rzmy3TKDHLz-3" value="" style="group" parent="1" vertex="1" connectable="0">
<mxGeometry x="590" y="760" width="40" height="40" as="geometry" /> <mxGeometry x="505" y="930" width="40" height="40" as="geometry" />
</mxCell> </mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-2" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="WQNHvwU35Rzmy3TKDHLz-3"> <mxCell id="WQNHvwU35Rzmy3TKDHLz-2" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" parent="WQNHvwU35Rzmy3TKDHLz-3" vertex="1">
<mxGeometry width="40" height="40" as="geometry" /> <mxGeometry width="40" height="40" as="geometry" />
</mxCell> </mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-1" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#000000;" vertex="1" parent="WQNHvwU35Rzmy3TKDHLz-3"> <mxCell id="WQNHvwU35Rzmy3TKDHLz-1" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#000000;" parent="WQNHvwU35Rzmy3TKDHLz-3" vertex="1">
<mxGeometry x="5" y="5" width="30" height="30" as="geometry" /> <mxGeometry x="5" y="5" width="30" height="30" as="geometry" />
</mxCell> </mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-14" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="WQNHvwU35Rzmy3TKDHLz-6" target="WQNHvwU35Rzmy3TKDHLz-9"> <mxCell id="WQNHvwU35Rzmy3TKDHLz-14" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="WQNHvwU35Rzmy3TKDHLz-6" target="WQNHvwU35Rzmy3TKDHLz-9" edge="1">
<mxGeometry relative="1" as="geometry" /> <mxGeometry relative="1" as="geometry" />
</mxCell> </mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-6" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#000000;" vertex="1" parent="1"> <mxCell id="WQNHvwU35Rzmy3TKDHLz-6" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#000000;" parent="1" vertex="1">
<mxGeometry x="399" y="180" width="30" height="30" as="geometry" /> <mxGeometry x="399" y="180" width="30" height="30" as="geometry" />
</mxCell> </mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-12" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="WQNHvwU35Rzmy3TKDHLz-7" target="WQNHvwU35Rzmy3TKDHLz-9"> <mxCell id="WQNHvwU35Rzmy3TKDHLz-12" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="WQNHvwU35Rzmy3TKDHLz-7" target="WQNHvwU35Rzmy3TKDHLz-9" edge="1">
<mxGeometry relative="1" as="geometry"> <mxGeometry relative="1" as="geometry">
<Array as="points"> <Array as="points">
<mxPoint x="250" y="275" /> <mxPoint x="250" y="275" />
</Array> </Array>
</mxGeometry> </mxGeometry>
</mxCell> </mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-7" value="int[][] matrix" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1"> <mxCell id="WQNHvwU35Rzmy3TKDHLz-7" value="int[][] matrix" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="210" y="120" width="80" height="40" as="geometry" /> <mxGeometry x="210" y="120" width="80" height="40" as="geometry" />
</mxCell> </mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-13" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="WQNHvwU35Rzmy3TKDHLz-8" target="WQNHvwU35Rzmy3TKDHLz-9"> <mxCell id="WQNHvwU35Rzmy3TKDHLz-13" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="WQNHvwU35Rzmy3TKDHLz-8" target="WQNHvwU35Rzmy3TKDHLz-9" edge="1">
<mxGeometry relative="1" as="geometry"> <mxGeometry relative="1" as="geometry">
<Array as="points"> <Array as="points">
<mxPoint x="580" y="275" /> <mxPoint x="580" y="275" />
</Array> </Array>
</mxGeometry> </mxGeometry>
</mxCell> </mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-8" value="int[] scalar" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1"> <mxCell id="WQNHvwU35Rzmy3TKDHLz-8" value="int scalar" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="540" y="120" width="80" height="40" as="geometry" /> <mxGeometry x="540" y="120" width="80" height="40" as="geometry" />
</mxCell> </mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-16" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="WQNHvwU35Rzmy3TKDHLz-9" target="WQNHvwU35Rzmy3TKDHLz-15"> <mxCell id="WQNHvwU35Rzmy3TKDHLz-16" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="WQNHvwU35Rzmy3TKDHLz-9" target="WQNHvwU35Rzmy3TKDHLz-15" edge="1">
<mxGeometry relative="1" as="geometry" /> <mxGeometry relative="1" as="geometry" />
</mxCell> </mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-9" value="" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="1"> <mxCell id="WQNHvwU35Rzmy3TKDHLz-9" value="" style="rhombus;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="399" y="260" width="30" height="30" as="geometry" /> <mxGeometry x="399" y="260" width="30" height="30" as="geometry" />
</mxCell> </mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-17" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="WQNHvwU35Rzmy3TKDHLz-15" target="WQNHvwU35Rzmy3TKDHLz-22"> <mxCell id="WQNHvwU35Rzmy3TKDHLz-17" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="WQNHvwU35Rzmy3TKDHLz-15" target="WQNHvwU35Rzmy3TKDHLz-22" edge="1">
<mxGeometry relative="1" as="geometry"> <mxGeometry relative="1" as="geometry">
<mxPoint x="260" y="325" as="targetPoint" /> <mxPoint x="260" y="325" as="targetPoint" />
</mxGeometry> </mxGeometry>
</mxCell> </mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-18" value="matrix hat das 3x3 Format" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="WQNHvwU35Rzmy3TKDHLz-17"> <mxCell id="WQNHvwU35Rzmy3TKDHLz-18" value="matrix hat das 3x3 Format" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="WQNHvwU35Rzmy3TKDHLz-17" vertex="1" connectable="0">
<mxGeometry x="0.1722" y="-1" relative="1" as="geometry"> <mxGeometry x="0.1722" y="-1" relative="1" as="geometry">
<mxPoint x="23" y="-14" as="offset" /> <mxPoint x="23" y="-14" as="offset" />
</mxGeometry> </mxGeometry>
</mxCell> </mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-19" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="WQNHvwU35Rzmy3TKDHLz-15" target="WQNHvwU35Rzmy3TKDHLz-21"> <mxCell id="WQNHvwU35Rzmy3TKDHLz-19" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="WQNHvwU35Rzmy3TKDHLz-15" target="WQNHvwU35Rzmy3TKDHLz-21" edge="1">
<mxGeometry relative="1" as="geometry"> <mxGeometry relative="1" as="geometry">
<mxPoint x="600" y="325" as="targetPoint" /> <mxPoint x="600" y="325" as="targetPoint" />
</mxGeometry> </mxGeometry>
</mxCell> </mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-20" value="matrix hat nicht das 3x3 Format" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="WQNHvwU35Rzmy3TKDHLz-19"> <mxCell id="WQNHvwU35Rzmy3TKDHLz-20" value="matrix hat nicht das 3x3 Format" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="WQNHvwU35Rzmy3TKDHLz-19" vertex="1" connectable="0">
<mxGeometry x="-0.2171" relative="1" as="geometry"> <mxGeometry x="-0.2171" relative="1" as="geometry">
<mxPoint x="14" y="-15" as="offset" /> <mxPoint x="14" y="-15" as="offset" />
</mxGeometry> </mxGeometry>
</mxCell> </mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-15" value="" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="1"> <mxCell id="WQNHvwU35Rzmy3TKDHLz-15" value="" style="rhombus;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="399" y="310" width="30" height="30" as="geometry" /> <mxGeometry x="399" y="310" width="30" height="30" as="geometry" />
</mxCell> </mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-50" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="WQNHvwU35Rzmy3TKDHLz-21" target="WQNHvwU35Rzmy3TKDHLz-49"> <mxCell id="WQNHvwU35Rzmy3TKDHLz-50" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="WQNHvwU35Rzmy3TKDHLz-21" target="WQNHvwU35Rzmy3TKDHLz-49" edge="1">
<mxGeometry relative="1" as="geometry"> <mxGeometry relative="1" as="geometry">
<Array as="points"> <Array as="points">
<mxPoint x="660" y="475" /> <mxPoint x="660" y="475" />
</Array> </Array>
</mxGeometry> </mxGeometry>
</mxCell> </mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-21" value="matrix = null" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1"> <mxCell id="WQNHvwU35Rzmy3TKDHLz-21" value="matrix = null" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="620" y="310" width="80" height="30" as="geometry" /> <mxGeometry x="620" y="310" width="80" height="30" as="geometry" />
</mxCell> </mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-40" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="WQNHvwU35Rzmy3TKDHLz-22" target="WQNHvwU35Rzmy3TKDHLz-34"> <mxCell id="WQNHvwU35Rzmy3TKDHLz-40" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="WQNHvwU35Rzmy3TKDHLz-22" target="WQNHvwU35Rzmy3TKDHLz-34" edge="1">
<mxGeometry relative="1" as="geometry" /> <mxGeometry relative="1" as="geometry" />
</mxCell> </mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-22" value="int außenPosition = 0" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1"> <mxCell id="WQNHvwU35Rzmy3TKDHLz-22" value="int außenPosition = 0" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="214" y="350" width="120" height="40" as="geometry" /> <mxGeometry x="214" y="350" width="120" height="40" as="geometry" />
</mxCell> </mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-24" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="WQNHvwU35Rzmy3TKDHLz-23" target="WQNHvwU35Rzmy3TKDHLz-49"> <mxCell id="WQNHvwU35Rzmy3TKDHLz-24" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="WQNHvwU35Rzmy3TKDHLz-23" target="WQNHvwU35Rzmy3TKDHLz-49" edge="1">
<mxGeometry relative="1" as="geometry"> <mxGeometry relative="1" as="geometry">
<mxPoint x="480" y="475" as="targetPoint" /> <mxPoint x="480" y="475" as="targetPoint" />
</mxGeometry> </mxGeometry>
</mxCell> </mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-25" value="außenPosition &amp;gt;= 3" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="WQNHvwU35Rzmy3TKDHLz-24"> <mxCell id="WQNHvwU35Rzmy3TKDHLz-25" value="außenPosition &amp;gt;= 3" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="WQNHvwU35Rzmy3TKDHLz-24" vertex="1" connectable="0">
<mxGeometry x="-0.0561" y="1" relative="1" as="geometry"> <mxGeometry x="-0.0561" y="1" relative="1" as="geometry">
<mxPoint x="-44" y="-14" as="offset" /> <mxPoint x="-44" y="-14" as="offset" />
</mxGeometry> </mxGeometry>
</mxCell> </mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-29" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="WQNHvwU35Rzmy3TKDHLz-23" target="WQNHvwU35Rzmy3TKDHLz-28"> <mxCell id="WQNHvwU35Rzmy3TKDHLz-29" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="WQNHvwU35Rzmy3TKDHLz-23" target="WQNHvwU35Rzmy3TKDHLz-28" edge="1">
<mxGeometry relative="1" as="geometry" /> <mxGeometry relative="1" as="geometry" />
</mxCell> </mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-48" value="außenPosition &amp;lt; 3" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="WQNHvwU35Rzmy3TKDHLz-29"> <mxCell id="WQNHvwU35Rzmy3TKDHLz-48" value="außenPosition &amp;lt; 3" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="WQNHvwU35Rzmy3TKDHLz-29" vertex="1" connectable="0">
<mxGeometry x="-0.4048" y="-2" relative="1" as="geometry"> <mxGeometry x="-0.4048" y="-2" relative="1" as="geometry">
<mxPoint x="-48" as="offset" /> <mxPoint x="-48" as="offset" />
</mxGeometry> </mxGeometry>
</mxCell> </mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-23" value="" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="1"> <mxCell id="WQNHvwU35Rzmy3TKDHLz-23" value="" style="rhombus;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="259" y="460" width="30" height="30" as="geometry" /> <mxGeometry x="259" y="460" width="30" height="30" as="geometry" />
</mxCell> </mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-38" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="WQNHvwU35Rzmy3TKDHLz-28" target="WQNHvwU35Rzmy3TKDHLz-36"> <mxCell id="WQNHvwU35Rzmy3TKDHLz-38" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="WQNHvwU35Rzmy3TKDHLz-28" target="WQNHvwU35Rzmy3TKDHLz-36" edge="1">
<mxGeometry relative="1" as="geometry" /> <mxGeometry relative="1" as="geometry" />
</mxCell> </mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-28" value="int innenPosition = 0" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1"> <mxCell id="WQNHvwU35Rzmy3TKDHLz-28" value="int innenPosition = 0" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="214" y="520" width="120" height="30" as="geometry" /> <mxGeometry x="214" y="520" width="120" height="30" as="geometry" />
</mxCell> </mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-31" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="WQNHvwU35Rzmy3TKDHLz-30" target="WQNHvwU35Rzmy3TKDHLz-33"> <mxCell id="WQNHvwU35Rzmy3TKDHLz-31" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="WQNHvwU35Rzmy3TKDHLz-30" target="WQNHvwU35Rzmy3TKDHLz-33" edge="1">
<mxGeometry relative="1" as="geometry"> <mxGeometry relative="1" as="geometry">
<mxPoint x="389" y="645" as="targetPoint" /> <mxPoint x="389" y="645" as="targetPoint" />
</mxGeometry> </mxGeometry>
</mxCell> </mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-32" value="innenPosition &amp;gt;= 3" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="WQNHvwU35Rzmy3TKDHLz-31"> <mxCell id="WQNHvwU35Rzmy3TKDHLz-32" value="innenPosition &amp;gt;= 3" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="WQNHvwU35Rzmy3TKDHLz-31" vertex="1" connectable="0">
<mxGeometry x="-0.0892" y="2" relative="1" as="geometry"> <mxGeometry x="-0.0892" y="2" relative="1" as="geometry">
<mxPoint x="1" y="-14" as="offset" /> <mxPoint x="1" y="-14" as="offset" />
</mxGeometry> </mxGeometry>
</mxCell> </mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-43" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="WQNHvwU35Rzmy3TKDHLz-30" target="WQNHvwU35Rzmy3TKDHLz-42"> <mxCell id="WQNHvwU35Rzmy3TKDHLz-43" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="WQNHvwU35Rzmy3TKDHLz-30" target="D88P0TZ1Fa28jEczStbS-2" edge="1">
<mxGeometry relative="1" as="geometry" /> <mxGeometry relative="1" as="geometry">
<mxPoint x="274" y="730" as="targetPoint" />
</mxGeometry>
</mxCell> </mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-44" value="innenPosition &amp;lt; 3" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="WQNHvwU35Rzmy3TKDHLz-43"> <mxCell id="WQNHvwU35Rzmy3TKDHLz-44" value="innenPosition &amp;lt; 3" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="WQNHvwU35Rzmy3TKDHLz-43" vertex="1" connectable="0">
<mxGeometry x="-0.0903" y="2" relative="1" as="geometry"> <mxGeometry x="-0.0903" y="2" relative="1" as="geometry">
<mxPoint x="48" as="offset" /> <mxPoint x="48" as="offset" />
</mxGeometry> </mxGeometry>
</mxCell> </mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-30" value="" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="1"> <mxCell id="WQNHvwU35Rzmy3TKDHLz-30" value="" style="rhombus;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="259" y="627.5" width="30" height="30" as="geometry" /> <mxGeometry x="259" y="627.5" width="30" height="30" as="geometry" />
</mxCell> </mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-35" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="WQNHvwU35Rzmy3TKDHLz-33" target="WQNHvwU35Rzmy3TKDHLz-34"> <mxCell id="WQNHvwU35Rzmy3TKDHLz-35" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="WQNHvwU35Rzmy3TKDHLz-33" target="WQNHvwU35Rzmy3TKDHLz-34" edge="1">
<mxGeometry relative="1" as="geometry"> <mxGeometry relative="1" as="geometry">
<Array as="points"> <Array as="points">
<mxPoint x="119" y="425" /> <mxPoint x="119" y="425" />
</Array> </Array>
</mxGeometry> </mxGeometry>
</mxCell> </mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-33" value="außenPosition++" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1"> <mxCell id="WQNHvwU35Rzmy3TKDHLz-33" value="außenPosition++" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="69" y="630" width="100" height="25" as="geometry" /> <mxGeometry x="69" y="630" width="100" height="25" as="geometry" />
</mxCell> </mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-39" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="WQNHvwU35Rzmy3TKDHLz-34" target="WQNHvwU35Rzmy3TKDHLz-23"> <mxCell id="WQNHvwU35Rzmy3TKDHLz-39" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="WQNHvwU35Rzmy3TKDHLz-34" target="WQNHvwU35Rzmy3TKDHLz-23" edge="1">
<mxGeometry relative="1" as="geometry" /> <mxGeometry relative="1" as="geometry" />
</mxCell> </mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-34" value="" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="1"> <mxCell id="WQNHvwU35Rzmy3TKDHLz-34" value="" style="rhombus;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="259" y="410" width="30" height="30" as="geometry" /> <mxGeometry x="259" y="410" width="30" height="30" as="geometry" />
</mxCell> </mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-37" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="WQNHvwU35Rzmy3TKDHLz-36" target="WQNHvwU35Rzmy3TKDHLz-30"> <mxCell id="WQNHvwU35Rzmy3TKDHLz-37" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="WQNHvwU35Rzmy3TKDHLz-36" target="WQNHvwU35Rzmy3TKDHLz-30" edge="1">
<mxGeometry relative="1" as="geometry" /> <mxGeometry relative="1" as="geometry" />
</mxCell> </mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-36" value="" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="1"> <mxCell id="WQNHvwU35Rzmy3TKDHLz-36" value="" style="rhombus;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="259" y="570" width="30" height="30" as="geometry" /> <mxGeometry x="259" y="570" width="30" height="30" as="geometry" />
</mxCell> </mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-41" value="matrix[außenPosition][innenPosition] = matrix[außenPosition][innenPosition] * scalar" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1"> <mxCell id="WQNHvwU35Rzmy3TKDHLz-46" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="D88P0TZ1Fa28jEczStbS-2" target="WQNHvwU35Rzmy3TKDHLz-45" edge="1">
<mxGeometry x="10" y="1110" width="260" height="50" as="geometry" /> <mxGeometry relative="1" as="geometry">
<mxPoint x="274" y="780" as="sourcePoint" />
</mxGeometry>
</mxCell> </mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-46" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="WQNHvwU35Rzmy3TKDHLz-42" target="WQNHvwU35Rzmy3TKDHLz-45"> <mxCell id="WQNHvwU35Rzmy3TKDHLz-47" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="WQNHvwU35Rzmy3TKDHLz-45" target="WQNHvwU35Rzmy3TKDHLz-36" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-42" value="matrix[außenPosition][innenPosition] *= scalar" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="169" y="730" width="210" height="50" as="geometry" />
</mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-47" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="WQNHvwU35Rzmy3TKDHLz-45" target="WQNHvwU35Rzmy3TKDHLz-36">
<mxGeometry relative="1" as="geometry"> <mxGeometry relative="1" as="geometry">
<Array as="points"> <Array as="points">
<mxPoint x="404" y="835" /> <mxPoint x="404" y="835" />
@ -174,21 +172,30 @@
</Array> </Array>
</mxGeometry> </mxGeometry>
</mxCell> </mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-45" value="innenPosition++&amp;nbsp;" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1"> <mxCell id="WQNHvwU35Rzmy3TKDHLz-45" value="innenPosition++&amp;nbsp;" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="224" y="820" width="100" height="30" as="geometry" /> <mxGeometry x="224" y="820" width="100" height="30" as="geometry" />
</mxCell> </mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-53" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="WQNHvwU35Rzmy3TKDHLz-49" target="WQNHvwU35Rzmy3TKDHLz-52"> <mxCell id="WQNHvwU35Rzmy3TKDHLz-53" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="WQNHvwU35Rzmy3TKDHLz-49" target="WQNHvwU35Rzmy3TKDHLz-52" edge="1">
<mxGeometry relative="1" as="geometry" /> <mxGeometry relative="1" as="geometry" />
</mxCell> </mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-49" value="" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="1"> <mxCell id="WQNHvwU35Rzmy3TKDHLz-49" value="" style="rhombus;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="510" y="460" width="30" height="30" as="geometry" /> <mxGeometry x="510" y="460" width="30" height="30" as="geometry" />
</mxCell> </mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-52" value="return matrix" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1"> <mxCell id="D88P0TZ1Fa28jEczStbS-1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="WQNHvwU35Rzmy3TKDHLz-52" target="WQNHvwU35Rzmy3TKDHLz-2" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-52" value="return matrix" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="480" y="860" width="90" height="40" as="geometry" /> <mxGeometry x="480" y="860" width="90" height="40" as="geometry" />
</mxCell> </mxCell>
<mxCell id="WQNHvwU35Rzmy3TKDHLz-54" value="Matrix Multiplikation" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=19;" vertex="1" parent="1"> <mxCell id="WQNHvwU35Rzmy3TKDHLz-54" value="Matrix Multiplikation" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=19;" parent="1" vertex="1">
<mxGeometry x="69" y="180" width="121" height="60" as="geometry" /> <mxGeometry x="69" y="180" width="121" height="60" as="geometry" />
</mxCell> </mxCell>
<mxCell id="D88P0TZ1Fa28jEczStbS-2" value="Matrixwert bei außenPosition und innenPostion mit scalar multiplizieren an die gleiche Stelle setzen" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="184" y="720" width="180" height="60" as="geometry" />
</mxCell>
<mxCell id="D88P0TZ1Fa28jEczStbS-3" value="Andreas Wurst 1720808&lt;br&gt;&lt;div&gt;Denis Shala 3022668&lt;/div&gt;" style="text;html=1;align=right;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="640" y="40" width="150" height="40" as="geometry" />
</mxCell>
</root> </root>
</mxGraphModel> </mxGraphModel>
</diagram> </diagram>

View File

@ -1,21 +1,24 @@
// Die Klasse Time überprüfft eine beliebigen String, ob es das erlaubte
// Zeitformat "SS:MM" hat.
public class Time { public class Time {
public static boolean timeCheck(String time) { public static boolean timeCheck(String time) {
// Initialsisieren der Reglularexpression für das erlaubte Format
String regex = "([01]\\d|2[0-3]):([0-5]\\d)"; String regex = "([01]\\d|2[0-3]):([0-5]\\d)";
boolean formatRichtig = false; boolean formatRichtig = false;
// Überprüfung, ob der String dem Format enspricht
if (time == null) { if (time == null) {
formatRichtig = false; formatRichtig = false;
// schnelle Überprüfung der "Grundformats"
} else if (time.length() != 5 || time.charAt(2) != ':') { } else if (time.length() != 5 || time.charAt(2) != ':') {
formatRichtig = false; formatRichtig = false;
} else if (time.matches(regex)) { } else if (time.matches(regex)) {
formatRichtig = true; formatRichtig = true;
} }
// Rückgabe des Ergebnis
return formatRichtig; return formatRichtig;
} }
// Für eine schnellere Überprüfung des Codes, ausführlichen Untersuchung
// erfolgt via eigene JUnit
public static void main(String[] args) { public static void main(String[] args) {
System.out.println(timeCheck("23:56")); System.out.println(timeCheck("23:56"));
System.out.println(timeCheck("00:00")); System.out.println(timeCheck("00:00"));

View File

@ -3,7 +3,7 @@ import static org.junit.jupiter.api.Assertions.*;
public class TimeTest { public class TimeTest {
// Test für richtige Zeitformate
@Test @Test
public void testValidTimes() { public void testValidTimes() {
assertTrue(Time.timeCheck("00:00")); assertTrue(Time.timeCheck("00:00"));
@ -12,7 +12,7 @@ public class TimeTest {
assertTrue(Time.timeCheck("23:59")); assertTrue(Time.timeCheck("23:59"));
assertTrue(Time.timeCheck("19:00")); assertTrue(Time.timeCheck("19:00"));
} }
// Test für minimale Fehler der Zeitformate
@Test @Test
public void testInvalidTimes() { public void testInvalidTimes() {
assertFalse(Time.timeCheck("24:00")); // Stunde zu groß assertFalse(Time.timeCheck("24:00")); // Stunde zu groß
@ -22,7 +22,7 @@ public class TimeTest {
assertFalse(Time.timeCheck("09:5")); // unvollständige Minuten assertFalse(Time.timeCheck("09:5")); // unvollständige Minuten
assertFalse(Time.timeCheck("09-15")); // falsches Trennzeichen assertFalse(Time.timeCheck("09-15")); // falsches Trennzeichen
} }
// Test beliebe Strings
@Test @Test
public void testCompletelyInvalidStrings() { public void testCompletelyInvalidStrings() {
assertFalse(Time.timeCheck("Hello World")); // Klar kein Zeitformat assertFalse(Time.timeCheck("Hello World")); // Klar kein Zeitformat
@ -30,6 +30,5 @@ public class TimeTest {
assertFalse(Time.timeCheck("time: 12:30")); // Präfix vor der Zeit assertFalse(Time.timeCheck("time: 12:30")); // Präfix vor der Zeit
assertFalse(Time.timeCheck("")); // Leerer String assertFalse(Time.timeCheck("")); // Leerer String
assertFalse(Time.timeCheck(null)); // Nullprüfung assertFalse(Time.timeCheck(null)); // Nullprüfung
assertFalse(Time.timeCheck("23:56 \n abc"));
} }
} }

View File

@ -1,72 +1,93 @@
// Die nachfolgede Klasse eines Vektor besitzt folgende Methoden:
// Scalaremultiplikation
// 2D und 3D Kreuzprodukt
// Vektorbetrag
// Scalarmatrixmultiplikation
public class Vector { public class Vector {
// Scalaremultiplikation
public static void scalarMultiplication(int[] vector, int scalar) { public static void scalarMultiplication(int[] vector, int scalar) {
// Falls ein null vector übergeben wird, soll nichts gemacht werden,
// sonst würde .length ein Fehler melden
if (vector != null) { if (vector != null) {
// Jede Position wird mit dem Scalar multipliziert
for (int position = 0; position < vector.length; position++) { for (int position = 0; position < vector.length; position++) {
vector[position] *= scalar; vector[position] *= scalar;
} }
} }
} }
// 2D und 3D kreuzprodukt
public static void vectorProduct(int[] vector1, int[] vector2) { public static void vectorProduct(int[] vector1, int[] vector2) {
// Sollte eine der beiden Vektoren null sein: Nachricht an die Konsole
if (vector1 == null || vector2 == null) { if (vector1 == null || vector2 == null) {
System.out.println("Wegen unterschiedlichen Dimensionen ist das Kreuzprodukt nicht erlaubt"); System.out.println("Wegen unterschiedlichen Dimensionen ist das Kreuzprodukt nicht erlaubt");
// Für 3D Kreuzprodukt müssen beide Vektoren die Dimension 3 haben
} else if (vector1.length == vector2.length && vector2.length == 3) { } else if (vector1.length == vector2.length && vector2.length == 3) {
int[] kreuzVektor3D = new int[3]; int[] kreuzVektor3D = new int[3];
// Berechnung des 3D Kreuzprodukts
kreuzVektor3D[0] = (vector1[1] * vector2[2]) - (vector1[2] * vector2[1]); kreuzVektor3D[0] = (vector1[1] * vector2[2]) - (vector1[2] * vector2[1]);
kreuzVektor3D[1] = (vector1[2] * vector2[0]) - (vector1[0] * vector2[2]); kreuzVektor3D[1] = (vector1[2] * vector2[0]) - (vector1[0] * vector2[2]);
kreuzVektor3D[2] = (vector1[0] * vector2[1]) - (vector1[1] * vector2[0]); kreuzVektor3D[2] = (vector1[0] * vector2[1]) - (vector1[1] * vector2[0]);
System.out.println("Ergebnis des Kreuzproduktes: [" + kreuzVektor3D[0] + ", " + kreuzVektor3D[1] + ", " System.out.println("Ergebnis des 3D Kreuzproduktes: [" + kreuzVektor3D[0] + ", " + kreuzVektor3D[1] + ", "
+ kreuzVektor3D[2] + "]"); + kreuzVektor3D[2] + "]");
} }
// Für 2D Kreuzprodukt müssen beide Vektoren die Dimension 2 haben
else if (vector1.length == vector2.length && vector2.length == 2) { else if (vector1.length == vector2.length && vector2.length == 2) {
int kreuzVektor2D = 0; int kreuzVektor2D = 0;
// Berechnung des 2D Kreuzprodukts. Ergebnis ist ein Scalar
kreuzVektor2D = (vector1[0] * vector2[1]) - (vector1[1] * vector2[0]); kreuzVektor2D = (vector1[0] * vector2[1]) - (vector1[1] * vector2[0]);
System.out.println("Ergebnis des Kreuzproduktes: " + kreuzVektor2D); System.out.println("Ergebnis des 2D Kreuzproduktes: " + kreuzVektor2D);
} }
// Bei unterschiedlichen Dimension oder nicht 2D bzw. 3D. Meldung an die Konsole
else { else {
System.out.println("Wegen unterschiedlichen Dimensionen ist das Kreuzprodukt nicht erlaubt"); System.out.println("Wegen unterschiedlichen Dimensionen ist das Kreuzprodukt nicht erlaubt");
} }
} }
// Vektorbetragsbrechnung
public static double vectorLength(int[] vector) { public static double vectorLength(int[] vector) {
// Initialiserung von Quadradsumme und Betrag
double qSumme = 0.0; double qSumme = 0.0;
double betrag = 0.0; double betrag = 0.0;
// Falls der Vektor null ist geht .length nicht
if (vector != null) { if (vector != null) {
// Brechnung der Quadratsumme
for (int i = 0; i < vector.length; i++) { for (int i = 0; i < vector.length; i++) {
qSumme = qSumme + (vector[i] * vector[i]); qSumme = qSumme + (vector[i] * vector[i]);
} }
// Berechnung der Wurzel, um Betrag zu erhalten
betrag = Math.sqrt(qSumme); betrag = Math.sqrt(qSumme);
} }
return betrag; return betrag;
} }
// Scalarmatrixmultiplikation
public static int[][] matrixMultiplication(int[][] matrix, int scalar) { public static int[][] matrixMultiplication(int[][] matrix, int scalar) {
// Initialiserung der Ausgabe
int[][] ausgabe; int[][] ausgabe;
// Falls die Matrix null ist wird null ausgegeben
if (matrix == null) { if (matrix == null) {
ausgabe = null; ausgabe = null;
// Falls die Matrix 3x3 ist darf das Sclar multipliziert werden
} else if (matrix.length == 3 && matrix[0].length == 3 && matrix[1].length == 3 && matrix[2].length == 3) { } else if (matrix.length == 3 && matrix[0].length == 3 && matrix[1].length == 3 && matrix[2].length == 3) {
ausgabe = new int[3][3]; ausgabe = new int[3][3];
// Alle 9 Kombinationsmöglichkeiten von inneren und äußeren Position wird durchgegangen
for (int außenPos = 0; außenPos < matrix.length; außenPos++) { for (int außenPos = 0; außenPos < matrix.length; außenPos++) {
for (int innenPos = 0; innenPos < matrix[außenPos].length; innenPos++) { for (int innenPos = 0; innenPos < matrix[außenPos].length; innenPos++) {
ausgabe[außenPos][innenPos] = matrix[außenPos][innenPos] * scalar; ausgabe[außenPos][innenPos] = matrix[außenPos][innenPos] * scalar;
} }
} }
} else { } else { // Sollte keine 3x3 Matrix vorliegen, wird null ausgegeben
ausgabe = null; ausgabe = null;
} }
return ausgabe; return ausgabe;
} }
// Für eine schnellere Überprüfung des Codes, ausführlichen Untersuchung
// erfolgt via eigene JUnit
public static void main(String[] args) { public static void main(String[] args) {
int[] vector = { 2, 4, 7 }; int[] vector = { 2, 4, 7 };
int scalar = 3; int scalar = 3;

View File

@ -1,10 +1,11 @@
import org.junit.jupiter.api.Test;
// Dieser Test ist eine ausführliche Testung der Vektorklasse
import org.junit.jupiter.api.Test;
import static org.junit.Assert.assertNull; import static org.junit.Assert.assertNull;
import static org.junit.jupiter.api.Assertions.*; import static org.junit.jupiter.api.Assertions.*;
public class VectorTest { public class VectorTest {
// Testteil für die überprüfung der Scalarenmultiplikation
@Test @Test
void testScalarMultiplicationVariants() { void testScalarMultiplicationVariants() {
int[] vector1 = { 1, -2, 3 }; int[] vector1 = { 1, -2, 3 };
@ -27,7 +28,7 @@ public class VectorTest {
Vector.scalarMultiplication(vector5, 5); Vector.scalarMultiplication(vector5, 5);
assertArrayEquals(null, vector5); assertArrayEquals(null, vector5);
} }
// Test für den Kreuzprodukt in 2D
@Test @Test
void testVectorProduct2DVariants() { void testVectorProduct2DVariants() {
int ergebnis1 = -2; int ergebnis1 = -2;
@ -39,7 +40,7 @@ public class VectorTest {
Vector.vectorProduct(new int[] { 0, 1 }, new int[] { 1, 0 }); Vector.vectorProduct(new int[] { 0, 1 }, new int[] { 1, 0 });
} }
// Test für den Kreuzprodukt in 3D
@Test @Test
void testVectorProduct3DVariants() { void testVectorProduct3DVariants() {
int[] ergebnis1 = { -3, 6, -3 }; int[] ergebnis1 = { -3, 6, -3 };
@ -51,20 +52,20 @@ public class VectorTest {
Vector.vectorProduct(new int[] { 0, 0, 1 }, new int[] { 0, 1, 0 }); Vector.vectorProduct(new int[] { 0, 0, 1 }, new int[] { 0, 1, 0 });
} }
// Test für den Kreuzprodukt bei unterschiedlichen Dimensionen
@Test @Test
void testVectorProductInvalidDimensions() { void testVectorProductInvalidDimensions() {
System.out.println("Erwartet: illegale Dimension"); System.out.println("Erwartet: illegale Dimension");
Vector.vectorProduct(new int[] { 1, 0 }, new int[] { 0, 1, 0 }); Vector.vectorProduct(new int[] { 1, 0 }, new int[] { 0, 1, 0 });
} }
// Test für den Vektorbetrag
@Test @Test
void testVectorLengthVariants() { void testVectorLengthVariants() {
assertEquals(5.0, Vector.vectorLength(new int[] { 3, 4 }), 0.001); assertEquals(5.0, Vector.vectorLength(new int[] { 3, 4 }), 0.001);
assertEquals(3.0, Vector.vectorLength(new int[] { 1, 2, 2 }), 0.001); assertEquals(3.0, Vector.vectorLength(new int[] { 1, 2, 2 }), 0.001);
assertEquals(0.0, Vector.vectorLength(new int[] { 0, 0, 0 }), 0.001); assertEquals(0.0, Vector.vectorLength(new int[] { 0, 0, 0 }), 0.001);
} }
// Test für die scalare Matrixmultiplikation
@Test @Test
void testMatrixMultiplicationVariants() { void testMatrixMultiplicationVariants() {
int[][] matrix = { int[][] matrix = {
@ -91,7 +92,7 @@ public class VectorTest {
}; };
assertArrayEquals(expectedZero, Vector.matrixMultiplication(zeroMatrix, 0)); assertArrayEquals(expectedZero, Vector.matrixMultiplication(zeroMatrix, 0));
} }
// Test von fehlerhafte Matrixen für die scalare Matrixmultiplikation
@Test @Test
void testMatrixMultiplicationInvalidCases() { void testMatrixMultiplicationInvalidCases() {
int[][] non3DSquare = { int[][] non3DSquare = {