前提・実現したいこと
以下の図形を作成したい。また、別で簡単なコードがあれば知りたい。
suji×sujiの〇の行列に右端から✖を書く問題
例:
suji=5 のとき
〇〇〇〇✖
〇〇〇✖〇
〇〇✖〇〇
〇✖〇〇〇
✖〇〇〇〇
イメージとしては、
・〇の直角二等辺三角形に✖を端に1つずつ足して、向きの違う直角二等辺三角形を足す。
・行でsuji-1まで〇を足し、隣に✖を足し、sujiまで記号がなければ〇をsujiまで追加
の2種類の実装をしてみたいと考えています。よろしくお願いいたします。
発生している問題・エラーメッセージ
〇〇〇〇✖〇 〇〇〇✖〇〇 〇〇✖〇〇〇 〇✖〇〇〇〇 ✖〇〇〇〇
一番右端に余分な列があり削除できない。
該当のソースコード
javascript
1function draw(){ 2 var suji = parseInt(document.getElementById('suji').value); 3 var answer = ""; 4 for(var i=1;i<=suji;i++){ 5 for(var j=1; j<=suji; j++){ 6 if (j<=suji-i) {answer = answer + "〇"; 7 } 8 } 9 answer = answer + "✖"; 10 11 for(var j=1; j<=suji; j++){ 12 if (j<suji& j>=suji-i) {answer = answer + "〇"; 13 } 14 } 15 answer = answer +"<br>"; 16 } 17 } 18 19 20 document.getElementById("answer").innerHTML = answer; 21
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
「何」が「どのように」わからないのか、コードのどの部分で詰まっているのかなどを、出ているエラーなどと併せて、具体的に記述されたほうが回答を得られやすいと思います。
「実装をしてみたいと考えています。よろしくお願いいたします。」
そうですか、頑張ってくださいと言われてもしょうがないです。
何ができなくて、何をやってみたかをもう少し詳細に記載しましょう
ありがとうございます。
for文の中の2つ目のfor文で右端の制限をかけているが、どうしてもうまくかかりません。。。
よろしくお願いいたします。
for(){
for(){
}
}
のシンプルな二重for文でいけそうですけど無理でした?難しく考えすぎなきが
if文は使わずに、forの2重ループのみということでしょうか。
方針だけでも教えていただけますでしょうか。
回答しましたがやっぱりシンプルな二重ループで問題なさそうです
回答3件
あなたの回答
tips
プレビュー