diff --git a/javascript/matrixok/index.html b/javascript/matrixok/index.html
new file mode 100644
index 0000000..879489a
--- /dev/null
+++ b/javascript/matrixok/index.html
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+ Mátrixok
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/javascript/matrixok/script.js b/javascript/matrixok/script.js
new file mode 100644
index 0000000..b6d3860
--- /dev/null
+++ b/javascript/matrixok/script.js
@@ -0,0 +1,159 @@
+let matrix1 = [];
+let matrix1_meret = [];
+let matrix2 = [];
+let matrix2_meret = [];
+
+function matrixBekeres(){
+ try {
+ let input = prompt("Adja meg az első mátrix méretét [AxB] formában");
+ input = input.trim();
+ if(input != null || input != ""){
+ let sp = input.split("x");
+ sp[0] = sp[0].replace("-", "");
+ sp[1] = sp[1].replace("-", "");
+ if(sp[0] == undefined || sp[1] == undefined) throw "Az adat rosszul lett megadva";
+ if(sp[0] == "0" || sp[1] == "0"){
+ do{
+ let input = prompt("Adja meg az első mátrix méretét [AxB] formában");
+ input = input.trim();
+ input = input.replace("-", "");
+ sp = input.split("x");
+ }while(sp[0] == "0" || sp[1] == "0");
+ }else{
+ matrix1_meret[0] = parseInt(sp[0]);
+ matrix1_meret[1] = parseInt(sp[1]);
+ }
+ //document.getElementById("matrix1").innerText = sp[0] + " " + sp[1];
+ }else{
+ throw "Nem adott meg adatot";
+ }
+
+ input = prompt("Adja meg a második mátrix méretét [AxB] formában");
+ input = input.trim();
+ if(input != null || input != ""){
+ let sp = input.split("x");
+ sp[0] = sp[0].replace("-", "");
+ sp[1] = sp[1].replace("-", "");
+ if(sp[1] == undefined) throw "Az adat rosszul lett megadva";
+ if(sp[0] == "0" || sp[1] == "0"){
+ do{
+ let input = prompt("Adja meg az első mátrix méretét [AxB] formában");
+ input = input.trim();
+ input = input.replace("-", "");
+ sp = input.split("x");
+ }while(sp[0] == "0" || sp[1] == "0");
+ }else{
+ matrix2_meret[0] = parseInt(sp[0]);
+ matrix2_meret[1] = parseInt(sp[1]);
+ }
+ //document.getElementById("matrix2").innerText = sp[0] + " " + sp[1];
+ }else{
+ throw "Nem adott meg adatot";
+ }
+ } catch (error) {
+ document.getElementById("matrix1").innerText = "a program hibaba futott";
+ matrixBekeres();
+ }
+
+ matrixElemekBekeres();
+}
+
+function matrixEgyezesVizsgalat(){
+ if(!(matrix1_meret[1] === matrix2_meret[0])){
+ console.log("A ket matrixban nem egyezik a ket legkozelebbi szam!");
+ return false;
+ }
+
+
+ return true;
+}
+
+function matrixElemekBekeres(){
+ if(!matrixEgyezesVizsgalat()) return;
+ let input;
+ let arr = [];
+
+ alert("Adja meg az elso matrix elemeit!");
+ //matrix1 bekerese
+ for (let i = 0; i < matrix1_meret[0]; i++) {
+ alert("Adja meg az " + (i+1) + ". sor elemeit");
+ for (let j = 0; j < matrix1_meret[1]; j++) {
+ input = prompt("Adja meg az matrix " + (j+1) + ". elemet");
+ arr[j] = parseInt(input);
+ }
+ matrix1[i] = arr;
+ console.log("Matrix1: " + matrix1[i]);
+ }
+
+
+ arr = [];
+ input = null; //ertekek lenullazasa, hogy ne maradjon adat az elozobol
+
+ alert("Adja meg a masodik matrix elemeit!");
+ //matrix2 bekerese
+ for (let i = 0; i < matrix2_meret[0]; i++) {
+ alert("Adja meg az " + (i+1) + ". sor elemeit");
+ for (let j = 0; j < matrix2_meret[1]; j++) {
+ input = prompt("Adja meg az matrix " + (j+1) + ". elemet");
+ arr[j] = parseInt(input);
+ }
+ matrix2[i] = arr;
+ console.log("Matrix2: " + matrix2[i]);
+ }
+
+ matrixSzamolas();
+}
+
+function matrixSzamolas(){
+ if(!matrixEgyezesVizsgalat()) return;
+
+ let eredmeny_matrix = [];
+ let arr = [];
+ let sum = 0;
+
+ for (let i = 0; i < matrix1_meret[1]; i++) {
+ for (let j = 0; j < matrix2_meret[0]; j++) {
+ for (let k = 0; k < matrix1_meret[0]; k++) {
+ sum += matrix1[0][k] * matrix2[k][0];
+ }
+ arr[j] = sum;
+ sum = 0;
+ }
+ eredmeny_matrix[i] = arr;
+ console.log(eredmeny_matrix[i]);
+ }
+
+ matrixKiiras();
+}
+
+function matrixKiiras(){
+ let matrix1_container = document.getElementById("matrix1");
+ let matrix2_container = document.getElementById("matrix2");
+
+ for (let i = 0; i < matrix1.length; i++) {
+ let sor = document.createElement("div");
+ sor.setAttribute("class", "sor");
+ for (let j = 0; j < matrix1[i].length; j++) {
+ console.log("Matrix elem: " + matrix1[i][j]);
+ let elem = document.createElement("div");
+ elem.setAttribute("class", "elem");
+ let text = document.createTextNode(matrix1[i][j]);
+ elem.appendChild(text);
+ sor.appendChild(elem);
+ }
+
+ matrix1_container.appendChild(sor);
+ }
+}
+
+
+/*
+1x2
+ 6,6
+
+2x3
+ 6,6,6
+ 6,6,6
+
+
+*/
\ No newline at end of file
diff --git a/javascript/matrixok/style.css b/javascript/matrixok/style.css
new file mode 100644
index 0000000..c08ca3f
--- /dev/null
+++ b/javascript/matrixok/style.css
@@ -0,0 +1,32 @@
+.flex-container {
+ display: flex;
+ width: 100%;
+ /*background-color: DodgerBlue;*/
+ flex-direction: column;
+ flex-wrap: wrap;
+ justify-content: center;
+ padding: 1%;
+}
+
+.elem{
+ background-color: #f1f1f1;
+ width: 5%;
+ height: 10%;
+ margin-left: 5%;
+ margin-bottom: 1%;
+ text-align: center;
+ /*line-height: 65px;*/
+ font-size: 30px;
+}
+
+body{
+ margin: 1%;
+}
+
+.sor{
+ display: flex;
+ /*background-color: purple;*/
+ flex-direction: row;
+ flex-wrap: nowrap;
+ justify-content: center;
+}
\ No newline at end of file