Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 15.10.2018, 23:07
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 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>


над производительностью не заморачивался.
Ответить с цитированием
  #12 (permalink)  
Старый 16.10.2018, 00:09
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

сортировка строк
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.
Ответить с цитированием
  #13 (permalink)  
Старый 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 не работает. Большое спасибо!
Ответить с цитированием
  #14 (permalink)  
Старый 19.10.2018, 12:10
Новичок на форуме
Отправить личное сообщение для Задорожный Виталий Посмотреть профиль Найти все сообщения от Задорожный Виталий
 
Регистрация: 18.10.2018
Сообщений: 9

или не туда или не то написал.
Ответить с цитированием
  #15 (permalink)  
Старый 19.10.2018, 15:47
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

Сообщение от Задорожный Виталий
Программа получает на вход количество чисел в последовательности, а затем сами числа.
не совсем понятно
Ответить с цитированием
  #16 (permalink)  
Старый 19.10.2018, 16:22
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

j0hnik,
получить длину массива от 1 до 100, затем элементы массива от 1 до 300, затем суммирование чисел кратных 6 из этого массива.
Ответить с цитированием
  #17 (permalink)  
Старый 19.10.2018, 17:08
Новичок на форуме
Отправить личное сообщение для Задорожный Виталий Посмотреть профиль Найти все сообщения от Задорожный Виталий
 
Регистрация: 18.10.2018
Сообщений: 9

я и сам плохо понимаю, но репетитор дал задачу и в интернете она тоже есть. только нет решения. количество чисел не превышает сто, а введенные числа не превышают 300. я подумал сначала что сделаю хоть как нибудь. сейчас надеюсь на Вас.
Ответить с цитированием
  #18 (permalink)  
Старый 19.10.2018, 17:20
Новичок на форуме
Отправить личное сообщение для Задорожный Виталий Посмотреть профиль Найти все сообщения от Задорожный Виталий
 
Регистрация: 18.10.2018
Сообщений: 9

Так откуда возьмутся 300 если ввели 100, а нужно только каждое 6 число. Если интересно, то их две однотипные задачи. Могу и её выложить, но если смогу эту то и ту тоже.
Ответить с цитированием
  #19 (permalink)  
Старый 19.10.2018, 17:20
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,706

Можно оптимизировать.
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);
Ответить с цитированием
  #20 (permalink)  
Старый 19.10.2018, 17:40
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

Сообщение от Задорожный Виталий
Так откуда возьмутся 300 если ввели 100, а нужно только каждое 6 число.
это ваши фантазии, условия задачи совсем другие
Сообщение от Задорожный Виталий
Напишите программу которая в последовательности натуральных чисел определяет сумму чисел, кратных 6. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число кратное 6. Кол-во чисел не превышает 100. Введённые числа не превышают 300. Программа должна ввести одно число - сумму чисел кратных 6.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как разрешить ввод только цифр и минуса в начале? xecic jQuery 6 20.08.2018 18:27
Как вы относитесь к наркоманам? Maxmaxmaximus7 Оффтопик 7 05.02.2014 13:29
Управление скроллом "а-ля тач" HonesT Элементы интерфейса 2 27.08.2013 14:25
Подскажите пожалуйста как сделать задание Альбиночка Общие вопросы Javascript 1 28.11.2011 18:47