17.03.2012, 19:08
|
Новичок на форуме
|
|
Регистрация: 17.03.2012
Сообщений: 5
|
|
Сгенерировать 2 последовательности и узнать сколько в них одинаковых элементов
Сгенерировать последовательность с помощью датчика случайных чисел и обработать задание:сколько соответствующих элементов двух последовательностей с одинаковым количеством элементов совпадают. Массивы не используются.
Помогите, пожалуйста, знаю как сравниваются числа, как считается количество элементов в последовательности, а вот как сравнить соответствующие элементы и узнать сколько их, что-то не могу понять.
Заранее спасибо!
|
|
17.03.2012, 19:20
|
|
junior
|
|
Регистрация: 29.11.2011
Сообщений: 3,924
|
|
Будьте любезны, Ваш код.
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
|
|
18.03.2012, 02:47
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,109
|
|
Ирина Владимировна,
1 способ.Генерировать 2 последовательности и сравнивать последние добавленные элементы на равенство.
2.Превратить заранее сгенерированные последовательности в массивы с помощью str.split('') и затем последовательно сравнить элементы этих массивов.
3.Взять нужный элемент последовательности для сравнения с помощью str.substr(start, 1)
|
|
21.03.2012, 17:16
|
Новичок на форуме
|
|
Регистрация: 17.03.2012
Сообщений: 5
|
|
nerv_,
var n=prompt("Введите количество чисел в последовательности:"," ");
n=n*1;
var a;
var b;
var i=1;
var j=1;
for(;i<=n;i++)
{a=Math.round(-100+201*Math.random());
document.write(a);
if (i<n) document.write(";");}
document.write("<br>");
for(;j<=n;j++)
{b=Math.round(-100+201*Math.random());
document.write(b);
if (j<n) document.write(";");}
генерирует 2 последовательности с одинаковым количеством элементов, как найти элементы которые совпадают не знаю.
|
|
21.03.2012, 17:17
|
Новичок на форуме
|
|
Регистрация: 17.03.2012
Сообщений: 5
|
|
рони,
Спасибо, попробую, надеюсь получится.
|
|
21.03.2012, 19:46
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,109
|
|
Ирина Владимировна,
Вариант 1 ...
<!DOCTYPE html>
<html>
<head>
<title></title>
<style type="text/css">
b{
color: #FF0000;
}
</style>
</head>
<body>
<script type="text/javascript">
function f() {
var n=+prompt("Введите количество чисел в последовательности:","50");
for (var c = "", d = "", e = 0, g = 0; g < n; g++)
var a = Math.round(9 * Math.random()),
b = Math.round(9 * Math.random()),
c = c + (a == b ? (e++, "<b>" + a + "</b>") : a),
d = d + (a == b ? "<b>" + b + "</b>" : b);
return c+"<br />"+d+"<br />"+e
};
document.write(f())
</script>
</body>
</html>
|
|
22.03.2012, 09:14
|
Особый гость
|
|
Регистрация: 02.04.2010
Сообщений: 4,260
|
|
Генерирует два массива одинаков длины, заполненные радномными элементами.
Возвращается количество совпавших пар:
var compare_random_array = function(i) {
var random = Math.random(),
count = 0;
(random * i).toFixed(i).slice(2).split('').every(function(i, j, array) {
i == array[j]*random|0 && count++;
return true;
});
return count;
}
alert(compare_random_array(10));
|
|
22.03.2012, 10:00
|
Лаборант :-)
|
|
Регистрация: 08.11.2011
Сообщений: 806
|
|
Сообщение от monolithed
|
Генерирует два массива одинаков длины, заполненные радномными элементами.
|
а где два массива ?
вроде только один
(random * i).toFixed(i).slice(2).split('')
и что будет если вызвать не
compare_random_array(10)
а например
compare_random_array(30)
|
|
22.03.2012, 11:06
|
Особый гость
|
|
Регистрация: 02.04.2010
Сообщений: 4,260
|
|
Сообщение от Pavel M.
|
а где два массива ?
|
var arrays = [];
var compare_random_array = function(i) {
var random = Math.random(),
count = 0;
(random * i).toFixed(i).slice(2).split('').every(function(element, i, array) {
var array2 = random * i|0;
arrays.push(element, ':', array2, '\n');
element == array2 && count++;
return true;
});
return count;
}
var count = compare_random_array(12);
alert(arrays.join('') + '\nсовпадений пар:' + count);
PS: писался пример для забавы, поэтому косяки править лень.
Последний раз редактировалось monolithed, 22.03.2012 в 11:09.
|
|
22.03.2012, 11:27
|
Лаборант :-)
|
|
Регистрация: 08.11.2011
Сообщений: 806
|
|
спасибо,
теперь понятно, что вы имели в виду под вторым массивом заполненным радномными элементами
|
|
|
|