Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 05.08.2013
Сообщений: 6

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

05.08.2013, 17:49. Показов 2330. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток. Совсем понемногу занимаюсь программированием на GDL, а, насколько я знаю, это дочерний язык от VB, но если не так, прошу извинить и перенаправить на нужную тему.
По сути мне не важно, как пишется код , мне просто нужно понять алгоритм действий. Вот к примеру: у меня есть массив (Х) с 5-ю значениями, есть цикл, в который подставляя поочередно значения из массива (Х) в формулу, результатом которой получаю еще допустим 2 значения, и пишу их в массив (Y). То есть, например, за первый цикл подставляется 1-е значение из массива (Х) и выводится 2 значения в массив (Y), затем второй цикл - 2 значения, третий - 2 значения и т.д. В итоге на 5 подставленных значений получаю 10 вычисленных, которые и нужно записать в один массив (Z).
В общем моя проблема в том, что я не понимаю алгоритм, каким образом все эти вычисленные значения можно записать в один массив.
Буду рад, если подскажете, на примере или на словах.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.08.2013, 17:49
Ответы с готовыми решениями:

Заполнение массива с использованием цикла
Подскажите, что я не правильно написал? mass1 = str2num(input('Введите ряд оборотов (через точку с запятой) :','s')); razmmass =...

заполнение массива без цикла
можно ли в процедуре заполнять массив вручную. например так: t:=, , , , ] и если да, то как??...

Массивы: Заполнение массива данными из цикла
Здравствуйте!) Есть небольшая проблема в коде! пишу программу имитации игры в "Крепс"(программа играет сама с собой) ...

10
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38194 / 21127 / 4309
Регистрация: 12.02.2012
Сообщений: 34,732
Записей в блоге: 14
05.08.2013, 19:21
Visual Basic
1
2
3
4
5
6
7
   j=1
   for i=1 to 5
       a=X(i)
       Y(j)=f(a)
       Y(j+1)=g(a)
       j=j+2
   next i
1
0 / 0 / 0
Регистрация: 05.08.2013
Сообщений: 6
05.08.2013, 19:41  [ТС]
Спасибо Вам большое. Не могли бы вы оставить пояснения. Не до конца разобрался со строчками 5 и 6 - f(a) и g(a) это вы подставили вычисленные значения? И еще хотел бы заметить, что вычисленных значений не всегда 2, их может быть и 4 и 6 и 8 и т.д. Я так и не понял как в массив (Z) все это записывается =(
Извините, я совсем безнадежный...
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38194 / 21127 / 4309
Регистрация: 12.02.2012
Сообщений: 34,732
Записей в блоге: 14
05.08.2013, 19:56
Цитата Сообщение от SahaSG552 Посмотреть сообщение
это вы подставили вычисленные значения?
- именно.

Цитата Сообщение от SahaSG552 Посмотреть сообщение
И еще хотел бы заметить, что вычисленных значений не всегда 2, их может быть и 4 и 6 и 8 и т.д
- тогда покажите, как выглядит у Вас вычисление (без занесения в массив Y).
0
0 / 0 / 0
Регистрация: 05.08.2013
Сообщений: 6
06.08.2013, 10:00  [ТС]
Вообще по сути: я ищу координаты пересечения параллельных горизонтальных линий с многоугольником. ac - это многоугольник, liny - линии, пересекающие многоугольник с определенным шагом. Часть кода опустил, дабы не засорять. Вычисление происходит верно, но я могу записать в массив только результаты для одного Y, а нужно для всех Y.
PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38194 / 21127 / 4309
Регистрация: 12.02.2012
Сообщений: 34,732
Записей в блоге: 14
06.08.2013, 10:15
Цитата Сообщение от SahaSG552 Посмотреть сообщение
Вычисление происходит верно, но я могу записать в массив только результаты для одного Y, а нужно для всех Y.
- так записывайте для всех. Не понимаю, в чем проблема.
0
0 / 0 / 0
Регистрация: 05.08.2013
Сообщений: 6
06.08.2013, 10:25  [ТС]
Дак я же тупарь =) Просто не понимаю, как это делается! Я понимаю, что нужно использовать индекс цикла, но вот как? Я просто не программист и пока моей логике этот момент не поддался. Подскажите, допишите в мой код недостающие элементы, чтобы в конечном итоге записать все xb в новый массив linx. Буду вам очень благодарен!
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38194 / 21127 / 4309
Регистрация: 12.02.2012
Сообщений: 34,732
Записей в блоге: 14
06.08.2013, 12:08
Странный язык... В каких строках образуются xb ?
0
0 / 0 / 0
Регистрация: 05.08.2013
Сообщений: 6
06.08.2013, 12:15  [ТС]
Язык специально предназначен для разработки параметрических объектов в среде программы ArchiCAD, по этому такие особенности =)
Ну я там опустил процедуру сортировки массива, для этого я создал новый массив xa равный pab и в нем произвел все нужные сортировки и отсеивания, но т.к. в языке GDL нет возможности удалять лишние строки массива, то я создаю еще одну переменную xb, чтобы в нем у меня хранились только координаты пересечений и ничего лишнего.
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38194 / 21127 / 4309
Регистрация: 12.02.2012
Сообщений: 34,732
Записей в блоге: 14
06.08.2013, 12:35
Я так и не понял, в каких строках xb присваивается значение? xb - это переменная или массив?
1
0 / 0 / 0
Регистрация: 05.08.2013
Сообщений: 6
06.08.2013, 13:33  [ТС]
xb массив =) прошу прощения. что ввел в заблуждение. Задачу мне уже помогли решить, тему можно закрыть. Catstail спасибо за помощь такому безнадеге, как я =)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.08.2013, 13:33
Помогаю со студенческими работами здесь

Заполнение шестимерного массива одним (!) оператором цикла for
Привет всем. Меня поставили в тупик таким вот заданием. Сказали, мол, вложенные циклы нельзя. For-ом с множеством счетчиков я никогда до...

Заполнение динамического массива с использованием цикла, с клавиатуры
Здравствуйте, дорогие. С помощью цикла реализуйте заполнение массива с клавиатуры. Размер массива заранее неизвестен. using System; ...

Заполнение файла из цикла
Вообщем ребят Проблема следующая - имеется файл со строками В цикле данные оттуда вытягиваются и заполняются Edit'ы на форме После...

Заполнение столбца значениями цикла
Здравствуйте уважаемые! Не могу сообразить как заполнить столбец Excel результатами цикла... using System.Collections.Generic; ...

Упростить заполнение list с помощью цикла
Это можно упростить циклом? list.Add(label1); list.Add(label2); list.Add(label3); ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2. Данные берутся из. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru