Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Прорисовать цифры в определенном порядке. (https://javascript.ru/forum/misc/53360-prorisovat-cifry-v-opredelennom-poryadke.html)

Grindelvald 30.01.2015 20:56

Прорисовать цифры в определенном порядке.
 
Вложений: 1
Добрый вечер, передо мной стоит вот такая задача.
Вложение 2554

Я пытался решить эту задачу, но что-то не выходит, подскажите, что я делаю не так.

printNumbers(12, 3);

function printNumbers(cNum, cols){
	var allNum = cNum;
	var colons = cols;
	var rows = allNum / colons;
	var output = "";
	var counter = 0;
	var id = 0;

	while(counter < allNum){
		setSpace();
		console.log(counter+output);
		counter++;
		
	}

	function setSpace(){
		if(id == rows){
			output += "\t";
			id = 0;
		}
		else{
			output += "\n";
		}
	}
}

Aetae 30.01.2015 21:09

Exception: echo is not defined

Grindelvald 30.01.2015 21:17

Цитата:

Сообщение от Aetae (Сообщение 354313)
Exception: echo is not defined

Я сделал себе обертку на console.log чтобы было меньше писать.
Сейчас исправлю, в примере.

рони 30.01.2015 21:40

Grindelvald,
<script>
function printNumbers(cNum, cols) {
    var step = Math.ceil(cNum / cols);
    for (var i = 0; i < step; i++) {
        var str = i;
        for (var k = 1; k < cols; k++) {
            var n = i + step * k;
            if (n < cNum) str += ' ' + n;
        }
        document.write(str + '<br>')
    }
    document.write('<br>')
}
printNumbers(12, 3);
printNumbers(13, 3);
printNumbers(15, 4);
</script>

Grindelvald 30.01.2015 21:51

рони,
спасибо за помощь.

javascript_pupil 30.01.2015 23:29

Позвольте полюбопытствовать: зачем в данной задаче применяется javascript? Всё тоже самое можно сделать на CSS парой строк кода.

рони 30.01.2015 23:46

javascript_pupil,
числа тоже css напишет?

Aetae 31.01.2015 00:28

рони, почему бы и нет)
javascript_pupil, очевидно же, что задача учебная.

javascript_pupil 31.01.2015 00:50

Цитата:

Сообщение от Aetae (Сообщение 354348)
задача учебная.

Поэтому у нас из трубы всё время вытекает, а не наоборот. Я конечно понимаю, что при желании гланды можно вырезать через Ж автогеном, но зачем? CSS настолько мощная штука, что в программном коде никаких намёков на форматирование вообще быть не должно (за редким исключением, которое вероятнее всего просто от недостатка моих знаний).

Ну а так то да, я всё понял. Спасибо. :(

рони 31.01.2015 01:41

:write:
только причём тут css я так и непонял ...
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
<style type="text/css">
ul{
  width: 300px;
  display: flex;
  flex-flow: column wrap;
  height: 300px;
}
  li{
      list-style-type: none;
      width: 33%;
      height: 20%;
      border: 3px #FF0033 solid;
      text-align: center;
      line-height: 4em;
  }
</style>
</head>

<body>
  <ul>
      <li>1</li>
      <li>2</li>
      <li>3</li>
      <li>4</li>
      <li>5</li>
      <li>6</li>
      <li>7</li>
      <li>8</li>
      <li>9</li>
      <li>10</li>
      <li>11</li>
      <li>12</li>
   </ul>
  </body>

</html>


Часовой пояс GMT +3, время: 10:33.