var numbers = [3, 5, 15, 6, 2, 1];
for (var min = 0; min < numbers.length - 1; min++) {
var least = min;
for (var i = min + 1; i < numbers.length; i++) {
if (numbers[i] < numbers[least]) {
least = i;
}
}
var temp = numbers[min];
numbers[min] = numbers[least];
numbers[least] = temp;
}
Написала по другому.
for (var i = 0; i < numbers.length - 1; i++) {
var min = numbers[i];
for (var j = i + 1; j < numbers.length; j++) {
if (numbers[j] < min) {
var go = numbers[i]
numbers[i] = numbers[j];
numbers[j] = go;
}
}
};
В консоли браузера работает, а в интрефейсе задания почему то код не выполняется(
А у меня так вышло. Делал наугад:
var numbers = [3, 5, 15, 6, 2, 1];
var minNumber;
var swap;
for (var i = 0; i < numbers.length; i++) {
for (var j = 0; j < numbers.length; j++) {
minNumber = numbers[i];
if (numbers[j] > minNumber) {
minNumber = numbers[j];
swap = numbers[i];
numbers[i] = minNumber;
numbers[j] = swap;
}
}
}
Странно, что половина следующего курса посвящена именно тому, как можно бы было решать эту задачу, в том числе команды на работу массивов, свопы и проверки не с 1го элемента. Может, тогда в описании задачи лучше вставить отсылки не на википедию, а на уроки со следующего курса (хотя бы конспекты)?
Я вот как решила, правда не постеснялась посмотреть объяснения для С++ и почитать про сортировку именно выборкой
var numbers = [7, 12, 57, 23, 0, 2]
for (var i = 0; i < numbers.length-1; i++)
{
var min = i;
for ( var j = i+1; j < numbers.length; j++)
{
if ( numbers[j] < numbers[min])
min = j;
}
var t = numbers[min];
numbers[min] = numbers[i];
numbers[i] = t;
}
console.log(numbers);
Согласен, не очень логично давать задачу на массив, до занятия по массивам. Например, кто не сталкивался с другими языками программирования, не может знать про функцию .lenght или формат записи numbers[ ].
Я не знаю, кто это и с кем их едят. Ну, глянула я на ссылку на вики. Кто такие lenght и прочее? Большая половина кода требует погуглить, чтобы понять о чём речь, а потом, в следующем курсе - сюрприз! Всё объясняется. Может имеет смысл перенести этот вызов в раздел про массивы?
здесь ошибка numbers[i] = numbers[j];
должно быть numbers[i] = min;