В резултате я должен получить нижние матрицы которые нарастают по кругу до середины. Я написал код но он не работает. Проблема где-то в 3 или 4 цикле FOR в WHILE(f).
n=3 n=5
1 2 3 1 2 3 4 5
8 9 4 16 17 18 19 6
7 6 5 15 24 25 20 7
14 23 22 21 8
13 12 11 10 9
<html>
<head> <title> Matrix 1</title>
</head>
<body>
<script LANGUAGE="JavaScript">
n = parseInt(prompt('N:','5'));
A = new Array();
for(i=0;i < n;i++){
A[i] = new Array();
for(j=0;j<n;j++) A[i][j] = 0 ;
}
DIM=parseInt(n*n);
//A[i][j]=1;
//==========================
document.write("<br>Matrix: <table border='2'>".fontcolor('red'));
for(i=0;i< n;i++){
document.write("<tr>");
for(j=0;j< n;j++){
document.write("<td >"+A[i][j]+" ");}
document.write("<br>");
}
document.write("</table>");
document.write("========================================== <br>");
//===========================
k=1; nr=1; f=true;
while(f){
i=k-1;
for(j = k-1; j <= n-k; j++){
if(nr <= DIM){ A[i][j] = nr ; nr++; document.write(A[i][j]+' ');} else {f=false;};
};
document.write('<br>');
for(i=k; i <= n-k; i++){
if(nr <= DIM){ A[i][j] = nr ; nr++; document.write(A[i][j]+' ');} else {f=false;};
};
document.write('<br>');
for(j = (n-k-1); j >= (k-1); j--){
if(nr <= DIM){A[i][j] = nr ; nr++; document.write(A[i][j]+' ');} else {f=false;};
};
document.write('<br>');
for(i= (n-k-1); i >= k; i--){
if(nr <= DIM){ A[i][j] = nr ; nr++; document.write(A[i][j]+' ');} else {f=false;};
};
document.write('<br>');
k++;
};
//=====================================
document.write("<br>Matrix: <table border='2'>".fontcolor('red'));
for(i=0;i< n;i++){
document.write("<tr>");
for(j=0;j< n;j++){
document.write("<td >"+A[i][j]+" ");}
document.write("<br>");
}
document.write("</table>");
document.write("========================================== <br>");
</script>
</body>
</html>
Виртуальный выделенный сервер (VDS) становится отличным выбором