Форум программистов, компьютерный форум, киберфорум
Наши страницы
Visual Basic
Войти
Регистрация
Восстановить пароль
 
Bekman
0 / 0 / 0
Регистрация: 15.01.2010
Сообщений: 11
#1

Сохраняет все значения массива последним значением! - VB

13.05.2010, 15:20. Просмотров 297. Ответов 0
Метки нет (Все метки)

Здравствуйте! Столкнулся с такой проблемой. У меня есть массив (таблица)
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
'таблица 6 СНиП 2.01.07-85*
mk(0, 0) = 5:    mk(0, 1) = 0.75:    mk(0, 2) = 0.5:    mk(0, 3) = 0.4
mk(1, 0) = 10:   mk(1, 1) = 1:       mk(1, 2) = 0.65:   mk(1, 3) = 0.4
mk(2, 0) = 20:   mk(2, 1) = 1.25:    mk(2, 2) = 0.85:   mk(2, 3) = 0.55
mk(3, 0) = 40:   mk(3, 1) = 1.5:     mk(3, 2) = 1.1:    mk(3, 3) = 0.8
mk(4, 0) = 60:   mk(4, 1) = 1.7:     mk(4, 2) = 1.3:    mk(4, 3) = 1
mk(5, 0) = 80:   mk(5, 1) = 1.85:    mk(5, 2) = 1.45:   mk(5, 3) = 1.15
mk(6, 0) = 100:  mk(6, 1) = 2:       mk(6, 2) = 1.6:    mk(6, 3) = 1.25
mk(7, 0) = 150:  mk(7, 1) = 2.25:    mk(7, 2) = 1.9:    mk(7, 3) = 1.55
mk(8, 0) = 200:  mk(8, 1) = 2.45:    mk(8, 2) = 2.1:    mk(8, 3) = 1.8
mk(9, 0) = 250:  mk(9, 1) = 2.65:    mk(9, 2) = 2.3:    mk(9, 3) = 2
mk(10, 0) = 300: mk(10, 1) = 2.75:   mk(10, 2) = 2.5:   mk(10, 3) = 2.2
mk(11, 0) = 350: mk(11, 1) = 2.75:   mk(11, 2) = 2.75:  mk(11, 3) = 2.35
mk(12, 0) = 480: mk(12, 1) = 2.75:   mk(12, 2) = 2.75:  mk(12, 3) = 2.75
Из этой таблицы я заполняю массив, таким образом (если строка равна, то беру значение столбца, если нет, то интерполяцией между соседними):
Visual Basic
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
X = 0
Do Until X >= QQ
X = X + 10
    For i = 2 To N - 2
        For j = 1 To 12
            If Vet.Combo2.Text = "Тип местности A" Then
                If X = mk(j, 0) Then massk(i, 2) = mk(j, 1)
                If (X > mk(j - 1, 0)) And (X < mk(j, 0)) Then
                    massk(i, 2) = (((mk(j, 1) - mk(j - 1, 1)) * (mk(j, 0) - X)) / (mk(j, 0) - mk(j - 1, 0))) + mk(j - 1, 1)
                End If
            End If
            If Vet.Combo2.Text = "Тип местности B" Then
                If X = mk(j, 0) Then massk(i, 2) = mk(j, 2)
                If (X > mk(j - 1, 0)) And (X < mk(j, 0)) Then
                    massk(i, 2) = (((mk(j, 2) - mk(j - 1, 2)) * (mk(j, 0) - X)) / (mk(j, 0) - mk(j - 1, 0))) + mk(j - 1, 2)
                End If
            End If
            If Vet.Combo2.Text = "Тип местности C" Then
                If X = mk(j, 0) Then massk(i, 2) = mk(j, 3)
                If (X > mk(j - 1, 0)) And (X < mk(j, 0)) Then
                    massk(i, 2) = (((mk(j, 3) - mk(j - 1, 3)) * (mk(j, 0) - X)) / (mk(j, 0) - mk(j - 1, 0))) + mk(j - 1, 3)
                End If
            End If
        massk(i, 1) = X
        Next j
    Next i
i = i + 1
Loop
Это все у меня в процедуре кнопки, когда я нажимаю кнопку, то у меня получается так, что все значения массива от 2 до N-2 принимают значения N-2, как сделать, что бы сохранялось нормально. Пожалуйста подскажите!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.05.2010, 15:20
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Сохраняет все значения массива последним значением! (VB):

Заменить значением C все элементы массива, которые равны K
С клавиатуры вводится массив целых чисел A размером N, а также целые числа K и...

Получить все уникальные значения массива
Есть таблица 4х4, в ней 16 значений, из них от 2 до 8 уникальны, а остальные...

Создать процедуру, переписывающую в новый массив b все неповторяющиеся значения исходного массива.
Собственно задание в заголовке) Помогите, пожалуйста З.Ы. я нуб в...

Заменить значения элементов матрицы, расположенных на главной диагонали, значением её максимального элемента
Заменить значения элементов матрицы, расположенных на главной диагонали,...

Поменять местами минимальный нечетный элемент массива с последним
поменять местами минимальный нечетный элемент массива с последним вот...

Заменить в массиве все отрицательные элементы значением минимального элемента
Ввести одномерный массив x={-1.5,0.1,12,0,-2.2,0.5,-1,0.3} Заменить в нем все...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.05.2010, 15:20
Привет! Вот еще темы с решениями:

Вычислить сумму элементов массива, расположенных между первым и последним положительными элементами
В одномерном массиве, состоящем из 20 элементов целого типа (значения ...

Заменить отрицательные элементы массива удвоенным значением
Дан массив B(k), k=1;2;3...6. Заменить отрицательные числа их удвоенным...

Найти в каждой строке массива максимальный и минимальный элементы и поменять их с первым и последним элементом
Дан двумерный массив размером , заполненный случайными числами. Найти в каждой...

найдите разницу между наибольшими и наименьшим значением массива
Заполнить одномерный массив случайными числами из отрезка , состоящий из 10...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru