<html>
<head><title>Транспонування матриці</title>
<head>
<body>
<form name="myForm4">
<script language="JavaScript">

function clear(s)
{
s1=""
s2=""
for (i=0;i<s.length;i++)
     {s2=s.charAt(i)
       if ((s2=="0") || (s2=="1") || (s2=="2") || (s2=="3") || (s2=="4") || 
           (s2=="5") || (s2=="6") || (s2=="7") || (s2=="8") || (s2=="9") ||
           ( s2=="-") || (s2=="+") || (s2=="e") || (s2=="E") || (s2=="."))
          { 
           }
     else {s2=" "
             }
      s1=s1+s2
      }
s3=""
j=0
while (j<s1.length)
    {
     while ( (j<s1.length) & (s1.charAt(j)==' ')) 
       {   
        j++
       }
     while ( (j<s1.length)&  (s1.charAt(j)!=' '))
       {  
        s3=s3+s1.charAt(j)
        j++
       }
    s3=s3+' '
}
return s3
}

function myFunction4() 
{
var m = parseInt(document.myForm4.myNum1.value);
if (isNaN(m))
  { alert('К_льк_сть рядк_в повинна бути Ц_ЛИМ ЧИСЛОМ!')
    return
  }    
var n = parseInt(document.myForm4.myNum2.value);
if (isNaN(n))
  { alert('К_льк_сть стовпчик_в повинна бути Ц_ЛИМ ЧИСЛОМ!')
    return
  }    
st1=new String
st1=clear(document.myForm4.myNum3.value)
mass=new Array()
mass=st1.split(' ')
b=new Array()
for (i=0;i<mass.length;i++)
  { 
 if ((isNaN(mass[i]))  || mass[i]=="") 
           { 
            }
        else { b.push(mass[i])}
  } 
if (b.length<m*n)
  { alert("Недостатньо даних.")
    return
  }
a=new Array(n)
for (i=0;i<n;i++)
  {  a1=new Array(m) 
     a[i]=a1
  }
c=0
for (i=0;i<m;i++)
  { for (j=0;j<n;j++)
    {
    a[j][i]=b[c]
    c++}
   }
c=0
document.myForm4.myNum5.value="" 
for (j=0;j<n;j++)
  { for (i=0;i<m;i++)
    { document.myForm4.myNum5.value+=a[j][i];    
      document.myForm4.myNum5.value+=' ' 
    }
  document.myForm4.myNum5.value +='\n'
  }
}
</script>

<p align="center"><font face="Arial" color="#FF0000"><b>Задача 
 Matrix04</b></font><font face="Arial"> </font>
<p align="justify">
<font face="Arial">
Дано два натуральних числа <b>m</b> та 
<b>n</b>, а також матриця <b>А<sub>mn</sub></b>.Необхідно знайти 
матрицю <b>А<sup>т </sup></b>(тобто транспонувати матрицю <b>А</b>). </font></p>
<font face="Arial"><b>
<p align="justify">
<i><font color="#FF0000">
Технічні умови:</font></i></b><i><font color="#FF0000"> </font></i> 
Програма зчитує з клавіатури 
натуральні числа з першого рядка кількість рядків матриці <b>m</b>, з другого - кількість стовпчиків <b>n (1&le;m,n&le;500)</b>
Наступні <b>m </b> 
рядків по <b>n </b> чисел у кожному містять елементи матриці <b>А</b> (цілі числа, що не перевищують <b>1000 </b>за абсолютною величиною). Програма має вивести на екран транспоновану матрицю. Елементи матриці розділяються пропуском.</p>
<p align="justify">
<b><i><font color="#FF0000">Приклад</font></i></b></p>
<p align="justify">
<font color="#FF0000">
<b><i>Введення</br></i></b></font>
3</br> 4 </br>
1 2 -1 -5 </br>
2 3 8 -6</br>
2 1 -2 0</br>
<font face="Arial" color="#FF0000">
<b><i>
Виведення</br></i></b></font>
1 2 2</br>2 3 1</br>-1 8 -2</br>-5 -6 0</br>
<p align="justify">
<b><u><font color="#0000FF">Перевірте свій контрольний приклад</font></u></b></font><p>
<font face="Arial">Введіть розміри матриці <b>m,n </b>
<input type="text" name="myNum1"  size=5>
<input type="text" name="myNum2"  size=5>
</font>
<p>
<font face="Arial">Введіть матрицю <b>A</b> </font> <p>
<font face="Arial">
<textarea name="myNum3" wrap="off" rows="20" cols="64" >
</textarea>
</font>
<p>
<font face="Arial">Транспонована матриця</font><p>
<font face="Arial">
<textarea name="myNum5" wrap="off" rows="20" cols="64" ></textarea>
</font>
<p>
<font face="Arial">
<input type="button" name="Button4" value="Показати" onclick="myFunction4()">
<input type="reset" name="Button5" value="Очистити" >
</font>
<p>
</form> 

</body>

</html>
 

© LIKT 1998-2018