Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Срок сдачи завтра. Предзащита диплома. (http://www.flasher.ru/forum/showthread.php?t=89347)

Laurelis 13.12.2006 16:55

Срок сдачи завтра. Предзащита диплома.
 
И никак не работает.

Код:

var arr0 = [0, "s1", "s2", "s3", "s4", "s5", "s6"];
var opred0:Number = -1;
var opred1:Number = -1;
var opredStroka:Number = 0;
var nomerProhoda = null;
var maxVer:Number = 0;
var kolEdin = 0;
var verArrKon1 = 0;
var verArrKon2 = 0;
var verArrKon3 = 0;
var verArrKon4 = 0;
var verArrKon5 = 0;
var verArrKon6 = 0;
var ver1 = 0.9;
var ver2 = 0.7;
var ver3 = 0.8;
var ver4 = 0.6;
var ver5 = 0.4;
var ver6 = 0.5;
var kolStrok = 6;
var kolStolb = 6;
var arrVeroy = [];
var arrSluz0 = [];
var arrSluz1 = [];
var arrSluz2 = [];
var arrSluz3 = [];
var arrSluz4 = [];
var arrSluz5 = [];
var arrSluz6 = [];
var arr11 = ["p1", 1, 1, 0, 0, 1, 0];
var arr12 = ["p2", 1, 0, 1, 0, 1, 0];
var arr13 = ["p3", 1, 0, 0, 1, 1, 1];
var arr14 = ["p4", 1, 1, 1, 0, 1, 0];
var arr15 = ["p5", 1, 0, 1, 0, 1, 0];
var arr16 = ["p6", 1, 1, 1, 0, 1, 1];
////////счет вероятностей
for (var nomerProhoda = 1; nomerProhod<=3; nomerProhod++) {
        for (var j = nomerProhoda; j<=kolStrok; j++) {
                for (var k = 1; k<=kolStolb; k++) {
                        this["verArr"+j] = this["arr"+nomerProhoda+j][k]*this["ver"+j];
                        this["verArrKon"+j] = this["verArrKon"+j]+this["verArr"+j];
                }
                //trace(this["verArrKon"+j]);
        }
        for (var a = nomerProhoda; a<=kolStrok; a++) {
                if (this["verArrKon"+a]>maxVer) {
                        maxVer = this["verArrKon"+a];
                        nomerMax = a;
                } else if (this["verArrKon"+a] == maxVer) {
                        this["maxVer"+a] = this["verArrKon"+a];
                }
                trace(maxVer);
                trace(nomerMax);
        }
        for (var i = 0; i<=kolStolb; i++) {
                if (this["arr"+nomerProhoda+nomerMax][i] == 0) {
                        opred0++;
                        nol = 6-opred0;
                        arrSluz0[nol] = arr0[i];
                        arrSluz1[nol] = this["arr"+nomerProhoda+"1"][i];
                        arrSluz2[nol] = this["arr"+nomerProhoda+"2"][i];
                        arrSluz3[nol] = this["arr"+nomerProhoda+"2"][i];
                        arrSluz4[nol] = this["arr"+nomerProhoda+"2"][i];
                        arrSluz5[nol] = this["arr"+nomerProhoda+"5"][i];
                        arrSluz6[nol] = this["arr"+nomerProhoda+"6"][i];
                } else if (this["arr"+nomerProhoda+nomerMax][i] == 1) {
                        kolEdin++;
                        opred1++;
                        odin = opred1;
                        arrSluz0[odin] = arr0[i];
                        arrSluz1[odin] = this["arr"+nomerProhoda+"1"][i];
                        arrSluz2[odin] = this["arr"+nomerProhoda+"2"][i];
                        arrSluz3[odin] = this["arr"+nomerProhoda+"3"][i];
                        arrSluz4[odin] = this["arr"+nomerProhoda+"4"][i];
                        arrSluz5[odin] = this["arr"+nomerProhoda+"5"][i];
                        arrSluz6[odin] = this["arr"+nomerProhoda+"6"][i];
                } else {
                        opred1++;
                        odin = opred1;
                        arrSluz0[odin] = arr0[i];
                        arrSluz1[odin] = this["arr"+nomerProhoda+"1"][i];
                        arrSluz2[odin] = this["arr"+nomerProhoda+"2"][i];
                        arrSluz3[odin] = this["arr"+nomerProhoda+"3"][i];
                        arrSluz4[odin] = this["arr"+nomerProhoda+"4"][i];
                        arrSluz5[odin] = this["arr"+nomerProhoda+"5"][i];
                        arrSluz6[odin] = this["arr"+nomerProhoda+"6"][i];
                }
                //trace(arrSluz0);
                //trace(arrSluz1);
                //trace(arrSluz2);
                //trace(arrSluz3);
                //trace(arrSluz4);
                //trace(arrSluz5);
                //trace(arrSluz6);
                //trace(odin);
                //trace(kolEdin);
        }
        this["arrSluz"+nomerProhoda] = this["arr"+nomerProhoda+nomerMax];
        this["arrSluz"+nomerMax] = this["arr"+nomerProhoda];
        for (var b = 0; b=kolStrok; b++) {
                this["arr"+(nomerProhoda+1)+b] = this["arrSluz"+b];
        }
        trace(this["arr"+nomerProhoda+b]);
}

до ввода nomerProhoda работало всё нормально.
вообще нужно получить прогу сортирующую матрицу следуюущим образом.
вычисляем вероятности в каждой строке.
строку с наибольшей вероятностью ставим первой (нулевая строка - не меняется).
сортируем эллементы всех строк так ЕДИНИЦЫ - в начало, нули в конец.
делим матрицу по первой строке на две матрицу. у первой в первой строке все единицы, у второй - все нули.
теперь работаем аналогично с двумя матрицами - вероятности, максимальная вероятность далее строку в ДВУХ матрицах переносим на второе место, так как первая - уже не должна меняться, и делим ДВЕ матрицы каждую на ДВЕ части, таким образом будет уже 4 матрицы с
куждой из которых нужно продклать аналогично, только теперь ИХ первая строка будет уже ТРЕТЬЕЙ общей строкой. так надо проделать до 16 матриц...


ПОМОГИТЕ. ПОДВЁЛ КОЛЛЕГА не сделав эти матрицы в срок.
размерность матриц 30 на 30....
СПСИБО ВСЕМ.
Пример:

etc 13.12.2006 16:57

Вы ошиблись разделом — вам в «вакансии».

Laurelis 13.12.2006 17:03

спасибо за информацию.

CorC 13.12.2006 17:25

Код:

var nomerProhoda = null;
.....
for (var nomerProhoda = 1; nomerProhod<=3; nomerProhod++)
.....

ничо что она без а на конце стала?


Часовой пояс GMT +4, время: 08:36.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.