- Рейтинг
- 2
Вот упрощённый кусок кода:
На функции не обращайте внимание я их наугад сократил.
x=#()
y=#()
x1=#()
y1=#()
for fi=1 to 800 do
(
x[fi]=cos(fi)
y[fi]=sin(fi)
x1[fi]=cos(fi-1)
y1[fi]=sin(fi-1)
if x[fi]==x1[fi] then
if y[fi]==y1[fi] then
Circle radius:4 pos:[x2[fi],y2[fi],0] isSelectedn
)
По каким то причинам условие “if” выполняется только один раз соответственно указывая на появлением круга на первом пересечении кривых, но множество пересечений остаётся «не обнаружинными».
Когда я пишу вывод данных в файл, то нахожу в блокноте только одну запись элемента x[1] т.е. в запись идёт только первый элемент из всех x[fi] и на этом всё останавливается.
fs=createFile "c:\\nn.txt"
format "%" x[fi] to:fs
close fs
Почему условие “if” выполняется только один раз, а не 800 ?
Как я понимаю все элементы x[fi] по окончанию 800 циклов сохраняются в оперативной памяти, но иксу присваивается только текущее значение на определённом шаге.
Т.е. как в этом случае можно обратиться к отдельному элементу массива, когда я пишу x[5] например то выскакивает ошибка?
Основной вопрос: Как сравнить все скажем x[fi] 800 элементов с каждым из восьмиста x1[fi] элементом ?
Заранее благодарен )
На функции не обращайте внимание я их наугад сократил.
x=#()
y=#()
x1=#()
y1=#()
for fi=1 to 800 do
(
x[fi]=cos(fi)
y[fi]=sin(fi)
x1[fi]=cos(fi-1)
y1[fi]=sin(fi-1)
if x[fi]==x1[fi] then
if y[fi]==y1[fi] then
Circle radius:4 pos:[x2[fi],y2[fi],0] isSelectedn
)
По каким то причинам условие “if” выполняется только один раз соответственно указывая на появлением круга на первом пересечении кривых, но множество пересечений остаётся «не обнаружинными».
Когда я пишу вывод данных в файл, то нахожу в блокноте только одну запись элемента x[1] т.е. в запись идёт только первый элемент из всех x[fi] и на этом всё останавливается.
fs=createFile "c:\\nn.txt"
format "%" x[fi] to:fs
close fs
Почему условие “if” выполняется только один раз, а не 800 ?
Как я понимаю все элементы x[fi] по окончанию 800 циклов сохраняются в оперативной памяти, но иксу присваивается только текущее значение на определённом шаге.
Т.е. как в этом случае можно обратиться к отдельному элементу массива, когда я пишу x[5] например то выскакивает ошибка?
Основной вопрос: Как сравнить все скажем x[fi] 800 элементов с каждым из восьмиста x1[fi] элементом ?
Заранее благодарен )