0 / 0 / 0
Регистрация: 03.11.2016
Сообщений: 14
1

Поиск минимального в массиве

04.05.2017, 17:12. Показов 1130. Ответов 12
Метки нет (Все метки)

Есть три массива:максимумы значений,минимумы и модуль их разницы
Я хочу те значения где разница минимальная усреднить,то есть сложить и разделить на два.Вот код
Visual Basic
1
2
3
4
For i = 1 To 10
dmax(i) = (i * lmax) / (2 * n2max)
dmin(i) = (lmin / (4 * n2min)) + ((lmin * i) / (2 * n2min))
d(i) = Abs(dmax - dmin)
Например,минимальная d(i) это третий элемент,значит мне нужно сложить dmax(3) и dmin(3)
Ищу как это сделать,но пока только ошибки выдаёт.Помогите,кто может.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.05.2017, 17:12
Ответы с готовыми решениями:

Поиск минимального элемента в массиве
Здравствуйте! Срочно нужно сделать массив Y(y1,y2...yn) и из его положительных элементов создать...

Поиск максимального и минимального значения в массиве: исправить код
Dim Xmax As Double, Xmin As Double, a As Double, b As Double, x As Double, h As Double Private...

Поиск минимального элемента в массиве
Разработайте модификацию алгоритма. Поиск минимального элемента в массиве в случае, когда...

Поиск в массиве минимального элемента
Ребят помогите. дан массив n*n. нужно найти в каждом столбце минимальный элемент и записать данные...

12
Заблокирован
04.05.2017, 21:35 2
Цитата Сообщение от aberg Посмотреть сообщение
Я хочу те значения где разница минимальная усреднить,то есть сложить и разделить на два
aberg, ради любопытства, какая оценка по математике для Вас привычна?
0
103 / 63 / 10
Регистрация: 13.02.2017
Сообщений: 178
04.05.2017, 21:56 3
Цитата Сообщение от aberg Посмотреть сообщение
Вот код
Это правда код, шифровка. Почему максимумы значений,минимумы и модуль их разницы - массивы?
Наверно есть еще условия в задаче...
0
0 / 0 / 0
Регистрация: 03.11.2016
Сообщений: 14
04.05.2017, 22:14  [ТС] 4
я действительно не силен в математике

Добавлено через 8 минут
Это задача из головы.Есть 10 значений-это толщина при максимумах интерференции,10 значений-при минимумах интерференции.Я хочу найти общую толщину.Там где разница модуля толщины максимума и минимума минимально и есть искомая толщина.То есть я её беру и усредняю.Массивы беру,что среди 10 значений найти минимальное.А потом из первых двух массивов выбрать нужные значения.Может немного не понятно объясняю,но я путаюсь,как мне найти это минимальное среди d,и потом выбрать именно те значения где оно минимально,чтобы получить толщину,сложив их.Может массивы здесь и не нужны.
0
0 / 0 / 0
Регистрация: 03.11.2016
Сообщений: 14
04.05.2017, 22:19  [ТС] 5
Поиск минимального в массиве

Может так будет понятнее.Вот пример
Я пока плохо знаю VB,поэтому нуждаюсь в помощи
0
Заблокирован
04.05.2017, 22:57 6
Цитата Сообщение от aberg Посмотреть сообщение
Это задача из головы.Есть 10 значений-это толщина при максимумах интерференции
aberg, спасибо за подробное пояснение сути темы.
Я развёл пожар в теме Необходимо упростить. Там надо срочно помочь. А после этого буду заниматься только Вашей темой, самому интересно.
0
103 / 63 / 10
Регистрация: 13.02.2017
Сообщений: 178
05.05.2017, 00:32 7
Цитата Сообщение от aberg Посмотреть сообщение
Может массивы здесь и не нужны.
Массивы стали нужны, когда в условии появились итерации по m.
Но по моему нужно еще пояснить, что такое M большое и что такое "итерации уверенно сходятся"...
0
0 / 0 / 0
Регистрация: 03.11.2016
Сообщений: 14
05.05.2017, 20:48  [ТС] 8
M-максимумы,m-минимумы
Сходятся,значит,что разница между толщиной в минимуме и толщиной в максимуме минимальна,т.е они практически равны

Добавлено через 3 минуты
Мне не к спеху.Буду ждать
0
Заблокирован
05.05.2017, 22:04 9
Цитата Сообщение от aberg Посмотреть сообщение
Массивы беру,что среди 10 значений найти минимальное
aberg, начал работать.
Скопировал два массива и создал третий по модулю, результаты совпадают.
Пока ознакомитесь, может поступят предложения от других участников форума.
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
Sub aberg()
Dim a(), b()
'--------------------
    ActiveSheet.UsedRange.EntireRow.Delete
    Cells.Clear
    [A2] = 1#:   [B2] = 167.931:   [C2] = 123.2019
    [A3] = 2#:  [B3] = 279.8851:   [C3] = 246.4037
    [A4] = 3#:   [B4] = 391.8391:   [C4] = 369.6095
    [A5] = 4#:  [B5] = 503.7931:  [C5] = 492.8074
    [A6] = 5#:  [B6] = 615.7471:   [C6] = 616.0093
    [A7] = 6#:  [B7] = 727.7011:   [C7] = 739.2111
    [A8] = 7#:   [B8] = 839.6552:   [C8] = 862.413
    [A9] = 8#:  [B9] = 951.6092:  [C9] = 985.6148
    [A10] = 9#:  [B10] = 1063.563:   [C10] = 1108.817
    [A11] = 10#:  [B11] = 1175.517:  [C11] = 1232.019
    a = Sheets(1).[A1].CurrentRegion.Value
    Sheets(1).[f1].Resize(UBound(a, 1), UBound(a, 2)) = a
      
    ReDim b(2 To 11)
    For i = 2 To 11
      b(i) = Abs(a(i, 2) - a(i, 3))
      Cells(i, 9) = b(i)
     Next
End Sub
Миниатюры
Поиск минимального в массиве  
1
413 / 250 / 118
Регистрация: 26.12.2012
Сообщений: 786
05.05.2017, 22:13 10
Лучший ответ Сообщение было отмечено aberg как решение

Решение

Мне не понятно откуда берутся данные в таблице и почему d = 600?
Вот код по Вашей таблице.
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
29
Option Explicit
Dim d0_m(10) As Single, d_M(10) As Single
 
Private Sub Form_Click()
Dim d_min As Single, d_max As Single, min As Integer, m As Integer, i As Integer
min = Abs(d0_m(1) - d_M(1))
 For i = 1 To 10
    If Abs(d0_m(i) - d_M(i)) < min Then
        min = d0_m(i) - d_M(i)
        m = i
        d_min = d_M(i)
        d_max = d0_m(i)
    End If
  Next
  Print m, d_min, d_max
End Sub
 
Private Sub Form_Load()
d0_m(1) = 167.931: d_M(1) = 123.2019
d0_m(2) = 279.8851: d_M(2) = 246.4037
d0_m(3) = 391.8391: d_M(3) = 369.6056
d0_m(4) = 503.7931: d_M(4) = 492.8074
d0_m(5) = 615.7471: d_M(5) = 616.0093
d0_m(6) = 727.7011: d_M(6) = 739.2111
d0_m(7) = 839.6552: d_M(7) = 862.413
d0_m(8) = 951.6092: d_M(8) = 985.6148
d0_m(9) = 1063.563: d_M(9) = 1108.817
d0_m(10) = 1175.517: d_M(10) = 1232.019
End Sub
Результат будет на форме по клику по форме.
1
0 / 0 / 0
Регистрация: 03.11.2016
Сообщений: 14
05.05.2017, 22:21  [ТС] 11
Данные вводятся пользователем lmax,lmin,n2min и n2max
а сами значения рассчитываются по формулам
dmax = (i * lmax) / (2 * n2max)-максимумы
dmin = (lmin / (4 * n2min)) + ((lmin * i) / (2 * n2min))-минимумы
Спасибо за ответы!
Попробую разобраться
0
413 / 250 / 118
Регистрация: 26.12.2012
Сообщений: 786
05.05.2017, 22:23 12
Опечатка
Visual Basic
1
min As Single
0
0 / 0 / 0
Регистрация: 03.11.2016
Сообщений: 14
05.05.2017, 22:31  [ТС] 13
дошло до меня,спасибо вам огромное!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.05.2017, 22:31
Помогаю со студенческими работами здесь

Поиск минимального элемента в массиве
Написал на С, заработало, на VBA не хочет(, помогите пожалуйста исправить. В Excel я в ячейках...

Поиск минимального значения в массиве
Здравствуйте Не могу реализовать поиск минимального элемента в массиве Помогите пожалуйста с...

Поиск минимального элемента в массиве
дан одномерный массив А. Написать программу на языке паскаль, реализующую поиск минимального...

Поиск минимального элемента в массиве
Используя шаблон функции реализовать следующие задачи: 1) считывание массива из стандартного...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru