task-16.js 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. // Задание на синий пояс: Треугольник
  2. // Сформировать следующую строку - треугольник:
  3. // .....#.....
  4. // ....###....
  5. // ...#####...
  6. // ..#######..
  7. // .#########.
  8. // ###########
  9. const task16block = document.createElement('div');
  10. task16block.style = "border: 2px solid green; border-radius:5px; margin-bottom:10px; padding:10px";
  11. const task16title = document.createElement('h2');
  12. task16title.innerText = 'Task-16 Triangle blue belt';
  13. const task16comment = document.createElement('p');
  14. task16comment.innerText = 'Возможно построение треугольника на любое кол-во строк';
  15. const makeTrianBtn = document.createElement('button');
  16. makeTrianBtn.innerText = 'Draw triangle';
  17. makeTrianBtn.style = 'margin-bottom:16px';
  18. root.appendChild(task16block);
  19. task16block.appendChild(task16title);
  20. task16block.appendChild(task16comment);
  21. task16block.appendChild(makeTrianBtn);
  22. makeTrianBtn.onclick = () => {
  23. let resultLine = "";
  24. const n = +prompt('Введите желаемое количество строк');
  25. // const m = +prompt('Введите желаемое нечетное количество элементов в строке');
  26. if (n) {
  27. for (let j = 1; j <= n; j++) {
  28. for (let i = 1; i <= 2*n-1; i++) {
  29. resultLine = resultLine + (((i >= n - (j - 1)) && (i <= n + (j - 1)) )? "#" : ".")+((i===(2*n-1))?"\n":"");
  30. }
  31. }
  32. console.log(resultLine);
  33. const lineResult = document.createElement('p');
  34. lineResult.innerHTML = `Треугольник с ${n} строками:<br/> <b> ${resultLine.split('\n').join("<br>")}</b>`;
  35. task16block.appendChild(lineResult);
  36. }
  37. else {alert("Некорректный ввод") }
  38. }