pisałem ostatnio koder do tekstu i trafiłem na błąd którego nie jestem w stanie rozpoznać. kiedy uruchamiam program komputer mi się zawiesza i nie jestem w stanie nawet sprawdzić do którego miejsca program działa. proszę o pomoc w znalezieniu i wytłumaczeniu na czym polegał ten błąd. (znaczyłem w programie część która nie działa)
Z góry dzięki!
<html>
<head><title>dekoder</title>
<meta charset="utf-8">
</head>
<body>
<script>
var znaki = ["a", "A", "ą", "Ą", "b", "B", "c", "C", "ć", "Ć", "d", "D", "e", "E", "ę", "Ę", "f", "F", "g", "G", "h", "H", "i", "I", "j", "J", "k", "K", "l", "L", "ł", "Ł", "m", "M", "n", "N", "ń", "Ń", "o", "O", "ó", "Ó", "p", "P", "r", "R", "s", "S", "ś", "Ś", "t", "T", "u", "U", "v", "V", "w", "W", "x", "X", "y", "Y", "z", "Z", "ź", "Ź", "ż", "Ż", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0"];
var k0=[];var k1=[];var k2=[];var k3=[];var k4=[];var k5=[];var k6=[];var k7=[];var k8=[];var k9=[];
for (i=0;i<1;i++) {
K0=(0+10*i);K1=(1+10*i);K2=(2+10*i);K3=(3+10*i);K4=(4+10*i);K5=(5+10*i);K6=(6+10*i);K7=(7+10*i);K8=(8+10*i);K9=(9+10*i);
k0[i]="00"+K0.toString();k1[i]="00"+K1.toString();k2[i]="00"+K2.toString();k3[i]="00"+K3.toString();k4[i]="00"+K4.toString();k5[i]="00"+K5.toString();k6[i]="00"+K6.toString();k7[i]="00"+K7.toString();k8[i]="00"+K8.toString();k9[i]="00"+K9.toString();
};
for (i=1;i<10;i++) {
K0=(0+10*i);K1=(1+10*i);K2=(2+10*i);K3=(3+10*i);K4=(4+10*i);K5=(5+10*i);K6=(6+10*i);K7=(7+10*i);K8=(8+10*i);K9=(9+10*i);
k0[i]="0"+K0.toString();k1[i]="0"+K1.toString();k2[i]="0"+K2.toString();k3[i]="0"+K3.toString();k4[i]="0"+K4.toString();k5[i]="0"+K5.toString();k6[i]="0"+K6.toString();k7[i]="0"+K7.toString();k8[i]="0"+K8.toString();k9[i]="0"+K9.toString();
};
for (i=10;i<78;i++) {
K0=(0+10*i);K1=(1+10*i);K2=(2+10*i);K3=(3+10*i);K4=(4+10*i);K5=(5+10*i);K6=(6+10*i);K7=(7+10*i);K8=(8+10*i);K9=(9+10*i);
k0[i]=K0.toString();k1[i]=K1.toString();k2[i]=K2.toString();k3[i]=K3.toString();k4[i]=K4.toString();k5[i]=K5.toString();k6[i]=K6.toString();k7[i]=K7.toString();k8[i]=K8.toString();k9[i]=K9.toString();
};
var listaK = [k0, k1, k2, k3, k4, k5, k6, k7, k8, k9];
var koder5 = function() {
var kodowanie = prompt("Wpisz tekst do zakodowania");
var wynik = "";
var zależność
var l = 0;
for (var i = 0; i < kodowanie.length; i++) {
zależność = Math.floor(Math.random()*10);
lkod = listaK[zależność]
for (var j = 0; j < znaki.length; j++) {
if (kodowanie.slice(i,i + 1) === znaki[j]) {
wynik += lkod[j];
};
};
};
var kodowanie = wynik;
var wynik1 = "";
var zależność2 = "";
var zależność1
var l = 0;
for (var i = 0; i < kodowanie.length; i++) {
zależność1 = Math.floor(Math.random()*10);
lkod = listaK[zależność1]
zależność2 += zależność1.toString();
for (var j = 0; j < znaki.length; j++) {
if (kodowanie.slice(i,i + 1) === znaki[j]) {
wynik1 += lkod[j];
};
};
};
var wynik2 = wynik1 + "781" + zależność2;
var wynik3 = "";
var wynik4 = "";
for (var i = 0; i < wynik2.length; i++) {
wynik3 += wynik2.slice(i,i+1); i++
};
for (var I = 1; I < wynik2.length; I++) {
wynik4 += wynik2.slice(I,I+1); I++
};
var wynik5 = wynik3.length.toString() + "782" + wynik3 + wynik4;
alert("Kodowana wiadomość = " + wynik5);
console.log(wynik5);
document.forms["wynik"].elements["pokaz3"].value = wynik5;
}
//ta część nie działa
var dekoder5 = function(){
var dekodowanie1 =prompt("Wpisz tekst do dekodowania");
var zależnośćD;
for (var i = 0; i < dekodowanie1.length; i++) {
if (dekodowanie1.slice(i,i+3) === "782") {
zależnośćD = dekodowanie1.slice(0,i);
dekodowanie1 = dekodowanie1.slice(i+3);
break;
}
};
zależnośćD = parseInt(zależnośćD);
var dekodowanie;
var dekodowanie2 = dekodowanie1.slice(0,zależnośćD);
var dekodowanie3 = dekodowanie1.slice(zależnośćD);
//wydaje mi się, że to tu popełniłem błąd
//----------------------------------------------------------------------------
var zal = 0;
for (var I = 0; zal < 1; I++) {
dekodowanie += dekodowanie2.slice(I,I+1);
dekodowanie += dekodowanie3.slice(I+1,I+2);
if (dekodowanie.length === dekodowanie2.length + dekodowanie3.length){
zal++
};
I++
};
//-----------------------------------------------------------------------------
var wynik = "";
var zależność;
var l = 0;
for (var i = 0; i < dekodowanie.length; i++) {
if (dekodowanie.slice(i,i+3) === "781") {
zależność = dekodowanie.slice(i+3);
i+2;
break
}
};
dekodowanie = dekodowanie.slice(0,i);
for (var j = 0; j < dekodowanie.length / 3; j++) {
for (var J = 0; J < znaki.length; J++) {
if (dekodowanie.slice(j+l,j+3+l) === listaK[zależność.slice(j,j+1)][J]) {
wynik += znaki[J]
}
}
l++; l++
}
var wynik2 = "";
var zależność2;
var l = 0;
for (var i = 2; i < wynik.length; i++) {
zależność2 += wynik.slice(i,i+1);
i+=2;
}zależność2=zależność2.slice(9)
for (var j = 0; j < wynik.length / 3; j++) {
for (var J = 0; J < znaki.length; J++) {
if (wynik.slice(j+l,j+3+l) === listaK[zależność2.slice(j,j+1)][J]) {
wynik2 += znaki[J]
}
}
l++; l++
}
alert("Kodowana wiadomość = " + wynik2);
console.log(wynik2);
document.forms["wynik"].elements["pokaz3"].value =wynik2;
};
</script>
<h3>Koder tekstu</h3>
<table>
<tr><h4>kodowanie zasadą "BKE4":</h4></tr>
<tr>
<td><form><input type="button" value="kodowanie" onclick="koder5()"></form></td>
<td><form><input type="button" value="dekodowanie" onclick="dekoder5()"></form></td>
</tr>
</table>
<h3>wynik:</h3>
<form id="wynik"><input type="text" value="" name="pokaz3" style="width: 1200px;" /></form>
</body>
</html>