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

Найти максимальное и минимальное по модулю значение элемента массива

22.03.2015, 19:35. Показов 10049. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Существует семь элементов массива (-3; 5; 2; 12; -6; 1; 17). Подскажите, пожалуйста, как найти максимальное и минимальное по модулю значение элемента массива (без привязки к этим числам, с возможностью их поменять). А так же после нахождения данных элементов - поделить max/min.
В Visual Basic 2010, Консольное приложение.
Буду очень благодарна за помощь!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.03.2015, 19:35
Ответы с готовыми решениями:

Максимальное и минимальное значение элемента массива
Нахождение максимального значения массива работает не корректно. Помогите найти ошибку в коде. #include<iostream> using namespace...

Вывести максимальное значение по модулю элемента каждой строки массива
Дан двумерный массив состоящий из N строк и M столбцов. Элементы массива имею вещественный тип.Причем должны выполняться следующие условия...

В матрице для каждого столбца найти минимальное и максимальное значение элемента
В данном двухмерном массиве A с целыми коэффициентами для каждого столбца найти минимальное и максимальное значение элемента в этом...

17
4 / 4 / 6
Регистрация: 10.04.2013
Сообщений: 45
26.03.2015, 13:59
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

VB.NET
1
2
3
4
5
6
7
8
9
Dim a(6) as Integer = {-3, 5, 2, 12, -6, 1, 17}
Dim i as Integer
Dim mx as Integer = 0
Dim mn as Integer = 0
For i = 0 To a.Length - 1
    If Math.Abs(a(i)) > mx Then mx = a(i)
    If Math.Abs(a(i)) < mn Then mn = a(i)
Next i
Console.WriteLine(mx / mn)
1
 Аватар для edward_freedom
1569 / 1448 / 303
Регистрация: 01.10.2011
Сообщений: 2,636
26.03.2015, 14:16
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

mcmishok,
VB.NET
1
2
Dim a() As Integer = {-3, 5, 2, 12, -6, 1, 17}
        MessageBox.Show(String.Format("Min: {0}, Max: {1}", a.Min, a.Max()))
1
 Аватар для XIST
1960 / 1061 / 148
Регистрация: 01.10.2009
Сообщений: 3,584
Записей в блоге: 1
26.03.2015, 16:53
Цитата Сообщение от edward_freedom Посмотреть сообщение
VB.NET
1
2
Dim a() As Integer = {-3, 5, 2, 12, -6, 1, 17}
 MessageBox.Show(String.Format("Min: {0}, Max: {1}", a.Min, a.Max()))
Упустили по модулю
VB.NET
1
2
3
Dim a() As Integer = {-3, 5, 2, 12, -6, 1, 17}
MessageBox.Show(String.Format("Min: {0}, Max: {1}", Math.Abs(a.Min), Math.Abs(a.Max)))
MsgBox(Math.Abs(a.Min) / Math.Abs(a.Max), , "max\min")
0
4 / 4 / 6
Регистрация: 10.04.2013
Сообщений: 45
26.03.2015, 17:31
И тогда вы получите модули максимального и минимального чисел в массиве, а не максимальные и минимальные числа по модулю.
0
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
26.03.2015, 18:46
Цитата Сообщение от mcmishok Посмотреть сообщение
И тогда вы получите модули максимального и минимального чисел в массиве, а не максимальные и минимальные числа по модулю.
А у Вас минимальное по модулю значение равно 0 - которого нет в массиве
0
COM‐пропагандист
 Аватар для Замабувараев
936 / 785 / 149
Регистрация: 18.12.2014
Сообщений: 2,255
Записей в блоге: 4
26.03.2015, 19:02
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

mcmishok, тогда так
VB.NET
1
2
Dim a() As Integer = {-3, 5, 2, 12, -6, -1, 17}
MessageBox.Show(String.Format("Min: {0}, Max: {1}", a.Min(Function(x) Math.Abs(x)), a.Max(Function(x) Math.Abs(x))))
0
4 / 4 / 6
Регистрация: 10.04.2013
Сообщений: 45
26.03.2015, 19:43
Согласен
VB.NET
1
2
3
4
5
6
7
8
9
10
Dim a(6) as Integer = {-3, 5, 2, 12, -6, 1, 17}
Dim i as Integer
Dim mx as Integer = 0
Dim mn as Integer = 0
For i = 0 To a.Length - 1
    If Math.Abs(a(i)) > mx Then mx = a(i)
    If mn = 0 Then mn = a(i)
    If Math.Abs(a(i)) < mn Then mn = a(i)
Next i
Console.WriteLine(mx / mn)
0
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
26.03.2015, 20:26
mcmishok, опять не то, если в массиве встретится 0, то Ваш код его пропустит.
Остальное удалил
0
COM‐пропагандист
 Аватар для Замабувараев
936 / 785 / 149
Регистрация: 18.12.2014
Сообщений: 2,255
Записей в блоге: 4
26.03.2015, 20:48
SoftIce, Я же уже решил.
1
4 / 4 / 6
Регистрация: 10.04.2013
Сообщений: 45
26.03.2015, 21:07
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
Dim a(6) as Integer = {-3, 5, 2, 12, -6, 1, 17}
Dim i as Integer
Dim mx as Integer
Dim mn as Integer
For i = 0 To a.Length - 1
    If i = 0 Then
        mx = a(i)
        mn = a(i)
    End If
    If Math.Abs(a(i)) > mx Then mx = a(i)
    If Math.Abs(a(i)) < mn Then mn = a(i)
Next i
Console.WriteLine(mx / mn)
Хоть какой-то дебагер.
0
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
26.03.2015, 21:18
mcmishok, извините, я не докапываюсь, просто решения неверные пока.
Все равно минимальный по модулю определяется неправильно.
Миниатюры
Найти максимальное и минимальное по модулю значение элемента массива  
0
4708 / 3661 / 857
Регистрация: 02.02.2013
Сообщений: 3,518
Записей в блоге: 2
26.03.2015, 22:24
VB.NET
1
2
3
4
5
6
7
8
9
10
Dim a() As Integer = {-3, 5, 2, 12, -6, 1, 17}
Dim i As Integer
Dim mx As Integer = Integer.MinValue
Dim mn As Integer = Integer.MaxValue
For i = 0 To a.Length - 1
    'ищем среди абсолютных значений элементов массива
    mx = Math.Max(mx, Math.Abs(a(i)))
    mn = Math.Min(mn, Math.Abs(a(i)))
Next i
MsgBox("max=" & mx.ToString & vbCrLf & "min=" & mn.ToString)
0
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
27.03.2015, 06:53

Не по теме:

Цитата Сообщение от Замабувараев Посмотреть сообщение
SoftIce, Я же уже решил.
Да, но не каждый преподаватель примет такое решение, особенно принципиальный, которому нужно от студента знание алгоритмов, а не встроенных функций конкретного языка программирования.



ovva, тоже неправильно. Добавляем в массив -19, и что видим на выходе? Выдает 19, то есть модуль, а должно быть само значение элемента.
Миниатюры
Найти максимальное и минимальное по модулю значение элемента массива  
0
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
27.03.2015, 07:04
Мой вариант
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Sub Main()
        Dim a() As Integer = {-3, 5, 2, 12, -6, -1, 17}
        Dim i As Integer
        Dim mx As Integer = a(0)
        Dim mn As Integer = a(0)
        For i = 1 To a.Length - 1
            If Math.Abs(mn) > Math.Abs(a(i)) Then mn = a(i)
            If Math.Abs(mx) < Math.Abs(a(i)) Then mx = a(i)
        Next i
        Console.WriteLine("Max = " & mx)
        Console.WriteLine("Min = " & mn)
        If mn <> 0 Then
            Console.WriteLine("Max/Min = " & mx / mn)
        Else
            Console.WriteLine("Деление на 0")
        End If
        Console.ReadLine()
    End Sub
0
COM‐пропагандист
 Аватар для Замабувараев
936 / 785 / 149
Регистрация: 18.12.2014
Сообщений: 2,255
Записей в блоге: 4
27.03.2015, 11:05
SoftIce, вот функциональный подход с рекурсией. Вычисляет минимальный по модулю элемент. Для вычисления максимального по модулю элемента нужно сменить знак на >.
VB.NET
1
2
3
Dim lambda As Func(Of Integer(), Integer, Integer, Integer) = Function(b, Index, CurrentMin) If(Index = b.Length, CurrentMin, If(Math.Abs(b(Index)) < Math.Abs(CurrentMin), lambda(b, Index + 1, b(Index)), lambda(b, Index + 1, CurrentMin)))
' Использование: массив, индекс, с которого нужно начинать проверку, первый элемент в массиве
Console.WriteLine(lambda(a, 0, a(0)))
1
4708 / 3661 / 857
Регистрация: 02.02.2013
Сообщений: 3,518
Записей в блоге: 2
27.03.2015, 14:06
Наверное стоит вернуться к постановке задачи:
" …найти максимальное и минимальное по модулю значение элемента массива"
. Обратите внимание, ищется не элемент массива, а его значение по модулю.
0
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
27.03.2015, 14:12
Цитата Сообщение от ovva Посмотреть сообщение
Обратите внимание, ищется не элемент массива, а его значение по модулю
Вот именно что ищется "максимальное и минимальное по модулю значение элемента массива" а не модуль максимального и минимального по модулю значения элемента массива.

Разницу понимаете?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.03.2015, 14:12
Помогаю со студенческими работами здесь

Найти минимальное и максимальное значение массива
Найти минимальное и максимальное значение массива

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

Найти минимальное и максимальное значение массива
Всем привет. Есть массив: array:2 1 =&gt; array:4 ] Как найти сначала из 1го 0 =&gt; 4 1 =&gt; 1 2 =&gt; 2 3...

Найти максимальное и минимальное значение элементов массива
Описать функции формирования элементов одномерного массива с по- мощью генератора случайных чисел и определения среднеарифметического ...

Найти максимальное и минимальное значение элементов массива
Помогите пожалуйста решить задачку)совсем не силен в с++( Задан одномерный массив В,состоящем из n вещественных элементов.Найти...


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru