|
09.09.2009, 20:31
|
#1
|
Мастер
Регистрация: 27.01.2008
Адрес: Россия, СКФО, ЧР, Грозный
Сообщений: 1,144
Написано 578 полезных сообщений (для 2,207 пользователей)
|
Сравнение массивов
Как можно сравнивать массивы полностью? То есть, у меня есть два массива mapcheck( 4 , 8 ) и mapwin( 4 , 8 ), и мне надо узнать одинаковые ли они? Через цикл у меня не получилось, в справке про это я тоже ничего не нашел. Может кто знает, буду очень благодарен
|
(Offline)
|
|
09.09.2009, 20:46
|
#2
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений (для 15,675 пользователей)
|
Ответ: Сравнение массивов
Через цикл у меня не получилось
|
Значит где-то ошибка. Не вижу причин не сравнить на равенство циклом. Исключение - дробные переменные, их на равенство сравнивать вообще никогда нельзя. (только с погрешностию)
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
09.09.2009, 22:38
|
#3
|
Мастер
Регистрация: 27.01.2008
Адрес: Россия, СКФО, ЧР, Грозный
Сообщений: 1,144
Написано 578 полезных сообщений (для 2,207 пользователей)
|
Ответ: Сравнение массивов
Через цикл у меня получается сравнивать только отдельные ячейки, а мне нужно проверить весь массив целиком, как будто это обычная переменная. Никак не могу догнать как это сделать
|
(Offline)
|
|
09.09.2009, 22:45
|
#4
|
Бывалый
Регистрация: 22.08.2006
Сообщений: 700
Написано 146 полезных сообщений (для 267 пользователей)
|
Ответ: Сравнение массивов
win=true
For i=0 to 3
For j=0 to 7
If mapcheck(i,j)<>mapwin(i,j) win=False : goto l
Next
Next
.l
За goto просьба не пинать - я не знаю как без лишних флагов сделать выход из двойного цикла. Конечно, тут не критичен сам выход, но если массивы большие, то может понадобиться для оптимизации.
Последний раз редактировалось MiXaeL, 09.09.2009 в 22:52.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
09.09.2009, 23:12
|
#5
|
Мастер
Регистрация: 05.04.2008
Сообщений: 910
Написано 530 полезных сообщений (для 3,006 пользователей)
|
Ответ: Сравнение массивов
Сообщение от MiXaeL
win=true
For i=0 to 3
For j=0 to 7
If mapcheck(i,j)<>mapwin(i,j) win=False : goto l
Next
Next
.l
За goto просьба не пинать - я не знаю как без лишних флагов сделать выход из двойного цикла. Конечно, тут не критичен сам выход, но если массивы большие, то может понадобиться для оптимизации.
|
Exit....
Exit....У меня вродь работает = )
Ну или если в функции то можно Return = )
|
(Offline)
|
|
09.09.2009, 23:49
|
#6
|
Дэвелопер
Регистрация: 14.02.2007
Сообщений: 1,471
Написано 824 полезных сообщений (для 2,920 пользователей)
|
Ответ: Сравнение массивов
Сообщение от MiXaeL
win=true
For i=0 to 3
For j=0 to 7
If mapcheck(i,j)<>mapwin(i,j) win=False : goto l
Next
Next
.l
За goto просьба не пинать - я не знаю как без лишних флагов сделать выход из двойного цикла. Конечно, тут не критичен сам выход, но если массивы большие, то может понадобиться для оптимизации.
|
Не помню как там прерывается цикл в бейсике, либо break либо exit. Но суть что она должна принимать аргумент указывающий сколько циклов необходимо прервать (по умолчанию там 1).
По сабжу - что значит сравнить массив в твоем понимании? Можно либо сравнить элементы массива и тем самым определить, что их данные идентичны, либо сравнить адреса массивом. и тем самым определить что юзается один и тот же массив (или что массив не создан).
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
10.09.2009, 04:52
|
#7
|
Мастер
Регистрация: 27.01.2008
Адрес: Россия, СКФО, ЧР, Грозный
Сообщений: 1,144
Написано 578 полезных сообщений (для 2,207 пользователей)
|
Ответ: Сравнение массивов
Сравнивать в моем понимании, это узнать, все ли поля одинаковые в обоих массивах, если да, то переход на следующий уровень. Когда я проверял через цикл, игра сразу переходила на следующий уровень при первых же одинаковых переменных. Вот такая вот была проблема, сегодня попробую метод Михаила и отпишусь.
|
(Offline)
|
|
10.09.2009, 12:03
|
#8
|
Мастер
Регистрация: 27.01.2008
Адрес: Россия, СКФО, ЧР, Грозный
Сообщений: 1,144
Написано 578 полезных сообщений (для 2,207 пользователей)
|
Ответ: Сравнение массивов
Всё отлично работает. Всем спасибо за помощь
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 14:42.
|