перевод алгаритма с 1с в пхп?

berkut

Новичок
да ужас ;) чтоб я ещё раз! сначала перевести, потом встроить в страницу, бла-бла-бла на час. вечер не удался - ещё и сервак рухнул - вообще ничем не достучаться (
 

Beavis

Banned
berkut
я так и думал что так будет)))

деньги то он хоть перевел?)
 

berkut

Новичок
ну да, я только по 100% предоплате с сомнительными личностями)
 

berkut

Новичок
nirex
после долгих обсуждений, выяснилось, что нужно не н пхп, а на яваскрипт.
Код:
var isValidRNN = function(rnn)
{
    if (rnn.length != 12) {
        error('Не 12 символов');
        return false;
    }
    var chr;
    var prevChr = rnn.substr(0, 1);
    var chrCnt = 1;
    for (var i = 1; i < rnn.length; ++i) {
         chr = rnn.substr(i, 1);
         if (chr == prevChr)
            ++chrCnt;
        prevChr = chr;
    }
    if (chrCnt == 12) {
        error('Повторяется 12 раз');
        return false;
    }
    var i, j, k, s, t;
    for (i = 1; i <= 10; i++) {
        s = 0;
        t = i - 1;
        for (j = 1; j <= 11; j++) {
            ++t;
            if (t == 11)
                t = 1;
            s = s + t * parseInt(rnn.substr(j - 1, 1));
        }
        k = s % 11;
        if (k < 10)
            break;
    }
    return (k == parseInt(rnn.substr(11, 1)));
}

var error = function(str)
{
    alert(str);
}
найди 4 отличия))

-~{}~ 21.02.08 01:39:

if (chr != prevChr)
break;
 

Beavis

Banned
а на php я бы так сделал:

PHP:
<?php
function check_rnn($rnn)
{
	if (is_numeric($rnn) && strlen($rnn)==12 && substr_count($rnn, $rnn[0])<12) {
		$weight = array(1,2,3,4,5,6,7,8,9,10,1);
		$i=0;
		do {
			for ($s=0, $razr=0; $razr<11; $razr++) $s += $rnn[$razr] * $weight[$razr];
			$k = $s%11;
			array_push($weight, array_shift($weight)+1);
		} while ($k>=10 && ++$i<10);
		return ($k == $rnn[11]);
	}
	return false;
}
$rnn = "600500007425";
var_dump(check_rnn($rnn));
?>
 

MagnetiZ

Новичок
Че вы ржоте над кодом?
Походу в школе сочинения пишите на русском?
В универе уже думаете на полу английском.
Пальцы ломаете стучите по клаве на исскуственных языкам через английский.
Обратите внимание на обозначение кнопок в армии - они как ни странно на русском!
И чем вам собстенно не нравятся функции вида "глВалидностьРНН(Значение)"
Взято походу из то же венгерской нотации.
Мне, например, нравится Встроенный язык. По крайней мере тем что он есть.
К примеру работал с языком AutoLISP ... вот это жуть.
И поверьте на Встроенном языке 1С намного удобнее писать.
Вот это:
http://absurdopedia.wikia.com/wiki/Преведно-ориентированный_язык
Разве не прелесть?

По поводу Встроенного языка: В нем нет удобной поддержки работы со строками.
 

berkut

Новичок
MagnetiZ ?? у тебя что-то случилось? хочешь поговорить об этом?
 
Сверху