Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 30.07.2012, 11:26
Аспирант
Отправить личное сообщение для ozzon91 Посмотреть профиль Найти все сообщения от ozzon91
 
Регистрация: 09.05.2012
Сообщений: 47

Не выходит отладить функцию
Не выходит отладить функцию
var arr = [[0, 0, 0, 0],
            [0, 5, 0, 0],
            [0, 0, 5, 0],
            [0, 0, 0, 5]];


         
function szuw(y, x, symbol) {
    arr[y][x] = symbol;
    var score1;
    var score2; 
    var y1 = y;
    var x1 = x;

   for(var i = 0; arr[y1][x1]==symbol; i++,x1++,y1++){
     score2 = i;
     }
     
   for(var i = 1; arr[y][x]==symbol; i++,x--,y--){
     score1 = i;
     }
  return score1 + score2;
}

отладчик выдает Error: TypeError: arr[y1] is undefined
Ответить с цитированием
  #2 (permalink)  
Старый 30.07.2012, 11:29
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

видимо потому что у вас значения x,y больше 3 или меньше нуля
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #3 (permalink)  
Старый 30.07.2012, 11:56
Аспирант
Отправить личное сообщение для ozzon91 Посмотреть профиль Найти все сообщения от ozzon91
 
Регистрация: 09.05.2012
Сообщений: 47

функция не работает даже так
alert(szuw(1,1,5));

если алерт вписать внутрь цикла то он выдает верные значения, например так
for(var i = 0; arr[y1][x1]==symbol; i++,x1++,y1++){
     score2 = i;
    alert(score2);
     }
Ответить с цитированием
  #4 (permalink)  
Старый 30.07.2012, 12:49
Аспирант
Отправить личное сообщение для ozzon91 Посмотреть профиль Найти все сообщения от ozzon91
 
Регистрация: 09.05.2012
Сообщений: 47

Ребята есть идеи??
Ответить с цитированием
  #5 (permalink)  
Старый 30.07.2012, 13:10
Аватар для vadim5june
Студент
Отправить личное сообщение для vadim5june Посмотреть профиль Найти все сообщения от vadim5june
 
Регистрация: 30.04.2012
Сообщений: 1,113

у Вас в начале по логике должно 5 стоять
[5, 0, 0, 0]
Ответить с цитированием
  #6 (permalink)  
Старый 30.07.2012, 13:14
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от vadim5june
у Вас в начале по логике должно 5 стоять
[5, 0, 0, 0]
да у него не в логике проблемы, а втом что человек понятия е имеет как нужно строить циклы, и когда их заканчивать.
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #7 (permalink)  
Старый 30.07.2012, 13:36
Аспирант
Отправить личное сообщение для ozzon91 Посмотреть профиль Найти все сообщения от ozzon91
 
Регистрация: 09.05.2012
Сообщений: 47

Цитата:
да у него не в логике проблемы, а втом что человек понятия е имеет как нужно строить циклы, и когда их заканчивать.
Так скажите в чем проблема.
Цитата:
у Вас в начале по логике должно 5 стоять
[5, 0, 0, 0]
По логике функция считает количество равных цифр на северозапад и юговосток из заданых координат. При передаче парамнтров 3, 3, 5 функция должна вернуть 3 тобишь количество пятерок стоящих наискосок.
Ответить с цитированием
  #8 (permalink)  
Старый 30.07.2012, 14:20
Аватар для vadim5june
Студент
Отправить личное сообщение для vadim5june Посмотреть профиль Найти все сообщения от vadim5june
 
Регистрация: 30.04.2012
Сообщений: 1,113

Сообщение от ozzon91 Посмотреть сообщение
Так скажите в чем проблема.

По логике функция считает количество равных цифр на северозапад и юговосток из заданых координат. При передаче парамнтров 3, 3, 5 функция должна вернуть 3 тобишь количество пятерок стоящих наискосок.
почему она 3 вернет как встретит первое совпадение так и остановится
arr[y1][x1]==symbol
Ответить с цитированием
  #9 (permalink)  
Старый 30.07.2012, 14:44
Аспирант
Отправить личное сообщение для ozzon91 Посмотреть профиль Найти все сообщения от ozzon91
 
Регистрация: 09.05.2012
Сообщений: 47

но цикл идет же пока верно равенство arr[y1][x1]==symbol ?
Ответить с цитированием
  #10 (permalink)  
Старый 30.07.2012, 14:54
Аватар для vadim5june
Студент
Отправить личное сообщение для vadim5june Посмотреть профиль Найти все сообщения от vadim5june
 
Регистрация: 30.04.2012
Сообщений: 1,113

Сообщение от ozzon91 Посмотреть сообщение
но цикл идет же пока верно равенство arr[y1][x1]==symbol ?
а когда он кончится?Когда вылет за пределы то есть arr[y1] будет undefined
Вам последнюю строку нужно из одних 0
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выполнить функцию заранее неизвестную Neokortex jQuery 2 13.02.2012 12:41
как реализовать передачу функции в функцию?? czp Общие вопросы Javascript 10 29.11.2011 19:21
checkbox включен запускаем одну функцию выключен другую Sadist_dead Элементы интерфейса 11 27.09.2011 10:46
проблема с передачей параметров в функцию bartonom Элементы интерфейса 4 19.09.2011 12:41
Как получить указатель на элемент вызвавший функцию pelayo Общие вопросы Javascript 9 29.06.2010 23:32