![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
15.10.2018, 23:07
|
![Аватар для j0hnik](https://javascript.ru/forum/image.php?u=50436&dateline=1483015396) |
Профессор
|
|
Регистрация: 01.12.2016
Сообщений: 3,650
|
|
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<textarea id="area"></textarea><br>
<button id="btn">сортировать</button>
<script>
var dic = ['a','b','c','d','e','f','g','h','i','j','k','l'];
var ots = (s, el)=> !dic.includes(el) ? ++s : s;
var sum = (s, el)=>{
var ind = dic.indexOf(el);
return ind != -1 ? s + ind : s;
};
btn.onclick = e => {
var arr = area.value
.split(/\n/)
.sort((a,b)=>(a.split('').reduce(ots,0) - b.split('').reduce(ots,0) ) || (b.split('').reduce(sum,0) - a.split('').reduce(sum,0)));
area.value = arr.join('\n');
};
</script>
</body>
</html>
над производительностью не заморачивался.
|
|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
16.10.2018, 00:09
|
![Аватар для рони](https://javascript.ru/forum/image.php?u=7416&dateline=1372796129) |
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,135
|
|
сортировка строк
j0hnik,
Alexandroppolus,
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<textarea id="area" rows="20">b
a
1111b
1111a</textarea><br>
<button id="btn">сортировать</button>
<script>
var dic = ['a','b','c','d','e','f','g','h','i','j','k','l'].reduce((obj, char, i) => (obj[char] = i, obj), {});
btn.onclick = e => {
var arr = area.value
.split(/\n/)
.map(el => el.split("").reduce((obj,char) => (char in dic ? obj.sum += dic[char] : obj.len++, obj), {str : el, len : 0, sum : 0}))
.sort((a,b)=>(a.len - b.len || b.sum - a.sum));
area.value = arr.map(Object.values).join('\n'); //строка, кол-во неизвестных, сумма известных
};
</script>
</body>
</html>
Последний раз редактировалось рони, 16.10.2018 в 01:28.
|
|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
18.10.2018, 19:24
|
Новичок на форуме
|
|
Регистрация: 18.10.2018
Сообщений: 9
|
|
Здравствуйте уважаемые форумчане. Я нахожусь в начале пути. Помогите с задачей. Голову сломал и тупик.
Напишите программу которая в последовательности натуральных чисел определяет сумму чисел, кратных 6. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число кратное 6. Кол-во чисел не превышает 100. Введённые числа не превышают 300. Программа должна ввести одно число - сумму чисел кратных 6.
Вот что навоял, вариантов была масса - это последний.
var summ = 0;
for (var i = Number(prompt("число",0)); i<=100; i+=6){
if (i>100){
alert ("Ошибка");
}
else (summ +=i);
}
document.write(summ +"<br/>");
Понимаю что все не правильно, но знаю как отсеять методом деления (if i%6) continue. а как отсеянное вывести на экран? И alert не работает. Большое спасибо!
|
|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
19.10.2018, 12:10
|
Новичок на форуме
|
|
Регистрация: 18.10.2018
Сообщений: 9
|
|
или не туда или не то написал. ![Blink](https://javascript.ru/forum/images/smilies/blink.gif)
|
|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
19.10.2018, 15:47
|
![Аватар для j0hnik](https://javascript.ru/forum/image.php?u=50436&dateline=1483015396) |
Профессор
|
|
Регистрация: 01.12.2016
Сообщений: 3,650
|
|
Сообщение от Задорожный Виталий
|
Программа получает на вход количество чисел в последовательности, а затем сами числа.
|
не совсем понятно
|
|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
19.10.2018, 16:22
|
![Аватар для рони](https://javascript.ru/forum/image.php?u=7416&dateline=1372796129) |
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,135
|
|
j0hnik,
![Unsure](https://javascript.ru/forum/images/smilies/unsure.gif) получить длину массива от 1 до 100, затем элементы массива от 1 до 300, затем суммирование чисел кратных 6 из этого массива.
|
|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
19.10.2018, 17:08
|
Новичок на форуме
|
|
Регистрация: 18.10.2018
Сообщений: 9
|
|
я и сам плохо понимаю, но репетитор дал задачу и в интернете она тоже есть. только нет решения. количество чисел не превышает сто, а введенные числа не превышают 300. я подумал сначала что сделаю хоть как нибудь. сейчас надеюсь на Вас.
|
|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
19.10.2018, 17:20
|
Новичок на форуме
|
|
Регистрация: 18.10.2018
Сообщений: 9
|
|
Так откуда возьмутся 300 если ввели 100, а нужно только каждое 6 число. Если интересно, то их две однотипные задачи. Могу и её выложить, но если смогу эту то и ту тоже.
|
|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
19.10.2018, 17:20
|
Профессор
|
|
Регистрация: 04.12.2012
Сообщений: 3,800
|
|
Можно оптимизировать.
const arrayLength=prompt('Кол-во элементов массива',3)||3;
const result=(prompt('Элементы массива через запятую','3,6,12')||'').split(',').slice(0,arrayLength).map(i=>+i.trim()).filter(i=>i%6===0).reduce((r,i)=>r+i,0);
alert(result);
|
|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
19.10.2018, 17:40
|
![Аватар для рони](https://javascript.ru/forum/image.php?u=7416&dateline=1372796129) |
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,135
|
|
Сообщение от Задорожный Виталий
|
Так откуда возьмутся 300 если ввели 100, а нужно только каждое 6 число.
|
это ваши фантазии, условия задачи совсем другие
Сообщение от Задорожный Виталий
|
Напишите программу которая в последовательности натуральных чисел определяет сумму чисел, кратных 6. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число кратное 6. Кол-во чисел не превышает 100. Введённые числа не превышают 300. Программа должна ввести одно число - сумму чисел кратных 6.
|
|
|
|
|