@vintalis

Вложенные циклы, как сделать такое?

С помощью вложенных циклов, нарисуйте строку:

01 02 03 04 05 06 07 08 09 10
11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29 30
31 32 33 34 35 36 37 38 39 40
41 42 43 44 45 46 47 48 49 50
Внешний цикл выводит перенос строки br и запускается от 0 до 6.

Вложенный цикл рисует цифры от 0 до 9. Обратите внимание, что первый ряд - есть ведущий нуль. Здесь все просто - проверили, если число меньше 10 - то конкатенируем нуль.

До конца не понял, как вложенным циклом это сделать :D
  • Вопрос задан
  • 118 просмотров
Пригласить эксперта
Ответы на вопрос 3
Psixodelik
@Psixodelik
Преподаватель на Hexlet
Делаете два цикла.

У первого цикла счётчик идёт от 0 до 6. Внутри него каждый раз запускается второй цикл от 0 до 9. В котором вы уже подставляете числа (можете их дополнительно хранить во внешней переменной).

В первом цикле, в самом конце переносите строку.
Ответ написан
Seasle
@Seasle Куратор тега JavaScript
Помог - отметь решением \( ゚ヮ゚)/
Как-то грустно стало видеть вопрос про циклы и строки.
Самый простой вариант:
const rows = 6;
const columns = 10;

let result = '';
for (let row = 0; row < rows; row++) {
    for (let column = 0; column < columns; column++) {
        const index = row * columns + column + 1;
        result += index.toString().padStart(2, '0');

        if (column < columns - 1) {
            result += ' ';
        }
    }

    if (row < rows - 1) {
        result += '\n';
    }
}

console.log(result);

А если нужна матрица, то используют массив.
Ответ написан
0xD34F
@0xD34F Куратор тега JavaScript
function createTable(rows, cols) {
  const maxLen = `${rows * cols}`.length;

  return [...Array(rows)]
    .map((n, i) => {
      return [...Array(cols)]
        .map((m, j) => `${cols * i + j + 1}`.padStart(maxLen, 0))
        .join(' ');
    })
    .join('\n');
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы