2

私は初心者ですが、やりたいことの役に立つ例をいくつか見つけました。問題は、私が見つけた例には、何が起こっているのかを理解するのに十分なコメントがないことです. だから、誰かが私が見つけたコードを私がすでに持っているコードに実装するのを手伝ってくれることを願っています. 暗号文で遊ぶために使用するテキスト操作領域を作成しています。すべてが単一の HTML テキスト領域内で行われます。"function G_Group(size, count)"テキストを選択した行と列に分割する、という関数があり、うまく機能しています。次に追加するツールは、この行列を (x,y) から (y,x) に転置します。私は「機能Gグループ」機能を持っているので、何かをスライスする必要はないと思います。http://rosettacodeで JavaScript 転置コードを少し見つけました。 しかし、値を変更して、既に持っているものに追加する方法がわかりません。

関数 G_Group(size, count) はこのように呼び出されます。

<input type= button value="Grouping" onclick = "return G_Group(0, 0)" title="grouping" />

そして、テキストを行と列に分割する方法は次のとおりです。

function G_Group(size, count)
{
   if (size <= 0)
   {
      size = document.encoder.group_size.value;
      if (size <= 0)                 
      {
         alert('Invalid group size'); 
     return false;
      }
   }
   if (count <= 0)
   {
      count = document.encoder.group_count.value;
      if (count <= 0)             
      {
         alert('Invalid group count');
     return false;
      }
   }

   var t = document.encoder.text.value;
   var o = '', groups = 0;
   t = Tr(t, " \r\n\t");
   while (t.length > 0)
   {
      if (o.length > 0)
      {
         o += ' ';
      }
      if (groups >= count)
      {
         o += "\n";
     groups = 0;
      }
      groups ++;
      o += t.slice(0, size);
      t = t.slice(size, t.length);
   }
   document.encoder.text.value = o;
   return false;
}

そして、これは配列を転置するために変更したいコードです。

function Matrix(ary) {

    this.mtx = ary
    this.height = ary.length;
    this.width = ary[0].length;
}

Matrix.prototype.toString = function() {
    var s = []
    for (var i = 0; i < this.mtx.length; i++) 
        s.push( this.mtx[i].join(",") );
    return s.join("\n");
}

// returns a new matrix
Matrix.prototype.transpose = function() {
    var transposed = [];
    for (var i = 0; i < this.width; i++) {
        transposed[i] = [];
        for (var j = 0; j < this.height; j++) {
            transposed[i][j] = this.mtx[j][i];
        }
    }
    return new Matrix(transposed);
}

私はこれに完全に間違ったアプローチをしている可能性があることを認識しています。そして、私が持っている質問が非常に基本的なものであることは承知しています。これらの簡単な質問をするのは少し恥ずかしいです. すみません。私は 43 歳で、20 年前に大学で C プログラミングをしていました。HTML と CSS はかなり得意ですが、多くの分野で不足しています。誰かがこれで私を助けてくれることを願っています。ありがとう。

4

0 に答える 0