Заполнение массива из цикла - VB

Узнай цену своей работы

Формулировка задачи:

Всем доброго времени суток. Совсем понемногу занимаюсь программированием на GDL, а, насколько я знаю, это дочерний язык от VB, но если не так, прошу извинить и перенаправить на нужную тему. По сути мне не важно, как пишется код , мне просто нужно понять алгоритм действий. Вот к примеру: у меня есть массив (Х) с 5-ю значениями, есть цикл, в который подставляя поочередно значения из массива (Х) в формулу, результатом которой получаю еще допустим 2 значения, и пишу их в массив (Y). То есть, например, за первый цикл подставляется 1-е значение из массива (Х) и выводится 2 значения в массив (Y), затем второй цикл - 2 значения, третий - 2 значения и т.д. В итоге на 5 подставленных значений получаю 10 вычисленных, которые и нужно записать в один массив (Z). В общем моя проблема в том, что я не понимаю алгоритм, каким образом все эти вычисленные значения можно записать в один массив. Буду рад, если подскажете, на примере или на словах.

Решение задачи: «Заполнение массива из цикла»

textual
Листинг программы
dim pa[],pb[],pn[]
for g=1 to kvoX !Количество координат по Y
    parameters liny[g]=miny+zs+dlstpX*(g-1) !!!Определяем координаты Y
    y3=liny[g]
    s=0
    xa=pab
    for i = 1 to n
        x1=ac[i][1]
        y1=ac[i][2]
        x2=ac[i+1][1]
        y2=ac[i+1][2]
        if i=n then 
        x1=ac[n][1]
        y1=ac[n][2]
        x2=ac[1][1]
        y2=ac[1][2]
        endif
        
        !!!Формула нахождения пересечения двух прямых x1.y1,x2.y2 с x3.y3,x4.y4
        !!!Процедура проверки принадлежности пересечения многоугольнику (процедуру опустил)
            Pa[i]=x1+((x2-x1)*(y3-y1))/(y2-y1)
            Pn[i]=1/1000
        else
            Pa[i]=0
            Pn[i]=0
        endif
        Parameters Pab[i][1]=Pa[i] !Вот в итоге массив с координатами X пересечения
        Parameters Pab[i][2]=Pn[i] 
        
        !!Рассчет к-ва пересечений
        if pn[i]>0 Then s=s+1: Parameters SS[g]=s
        
        !!!!Сортировка (процедуру опустил, но это нужно для правильной отрисовки) 
        for h=1 to ss[g]
            Parameters xb[h]=xa[h][1] !!!Итоговый массив с координатами пересечения X для одного Y
        next h
    next i
next g

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.2 из 5