Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/89: Рейтинг темы: голосов - 89, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 18.09.2012
Сообщений: 15
1

Найти максимальный из отрицательных элементов среди произвольных 20 чисел

18.09.2012, 18:11. Показов 17436. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Товарищи программисты, доброго дня!
прошу содействия в решении следующей задачи:

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


мой ход мыслей таков = не учитывать в цикле положительные элементы, а среди отрицательных - найти минимальный по модулю.

если же подобное оговарилось ранее, буду признательна ссылке на соответствующую тему.

Заранее благодарю
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.09.2012, 18:11
Ответы с готовыми решениями:

Дана таблица M[1..40] целых чисел.Найти максимальный среди отрицательных элементов
В общем знакомый попросил помочь решить задачку,а я уже многое забыл.Кому не сложно зделайте ее....

Найти максимальный среди отрицательных элементов прямоугольной матрицы и минимальный среди положительных
2.Найти максимальный среди отрицательных элементов прямоугольной матрицы и минимальный среди...

Вводится 8 чисел. Найти максимальный среди отрицательных чисел и произведение нечетных
Вводится 8 чисел. Найти максимальный среди отрицательных чисел и произведение нечетных

Найти максимальный элемент среди отрицательных чисел
1. Не заводить массив.Вводиться последовательность чисел,оканчивающийся на ноль.Найти максимальный...

11
5472 / 1150 / 50
Регистрация: 15.09.2012
Сообщений: 3,518
18.09.2012, 19:17 2
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
30
31
32
33
34
35
36
37
38
39
Sub Procedure_1()
 
    Dim i As Long
    Dim Массив(1 To 20) As Double
    Dim max As Double
    
    For i = 1 To 20 Step 1
        Массив(i) = InputBox("Введите число для элемента " & i)
    Next i
 
    'Находим первый отрицательный элемент в массиве.
    'Поместим число из этого элемента в переменную.
    'Затем остальные элементы будем сравнивать с этой переменной.
    For i = 1 To 20 Step 1
        If Массив(i) < 0 Then
            max = Массив(i)
            'Выходим из цикла.
            Exit For
        End If
    Next i
    
    'Теперь просматриваем все элементы в массиве.
    'Если элемент отрицательный, то сравниваем его
    'с переменной max.
    For i = 1 To 20 Step 1
        If Массив(i) < 0 Then
            If Массив(i) > max Then
                'Если отрицательный элемент больше числа,
                'которое находится в переменной max,
                'то помещаем этот элемент в эту переменную.
                max = Массив(i)
            End If
        End If
    Next i
 
    'Выводим результат в диалоговое окно.
    MsgBox max
 
End Sub
0
призрак
3262 / 890 / 119
Регистрация: 11.05.2012
Сообщений: 1,702
Записей в блоге: 2
18.09.2012, 20:36 3
можно и без массива
Visual Basic
1
2
3
4
5
6
7
8
9
sub z()
  dim x#, m#, i%
  m=-1.79769313486231E308
  for i=1 to 20
    x=inputbox(i & "-ое число:", x)
    if x<0 and x>m then m=x
  next
  if m>-1.79769313486231E308 then msgbox "максимальное из отрицательных = " & m
end sub
1
Dragokas
18.09.2012, 23:54
  #4

Не по теме:

Цитата Сообщение от ikki Посмотреть сообщение
m=-1.79769313486231E308
я уже замёрз :swoon:

0
ikki
19.09.2012, 00:02
  #5

Не по теме:

:smoke: а чо? просто тупо скопировал значение из справки...

0
Эксперт WindowsАвтор FAQ
17996 / 7697 / 892
Регистрация: 25.12.2011
Сообщений: 11,470
Записей в блоге: 16
19.09.2012, 00:03 6
ikki, Попробуйте ввести в инпутбокс 20 раз число -1,79769313486231E+308.
Какое будет максимальное из отрицательных.
Эмм, да - философский вопрос однако.
0
призрак
3262 / 890 / 119
Регистрация: 11.05.2012
Сообщений: 1,702
Записей в блоге: 2
19.09.2012, 00:15 7
да, это очень, очень коварный макрос.
всё по статусу

Добавлено через 8 минут
хех...
решил проверить, насколько предельные значения типа double в VBA соответствуют предельным значениям, которые можно ввести в ячейку Excel.

обнаружил очередной глюк (наверное, давно известный)
Цитата Сообщение от F1
Наименьшее отрицательное число -2,2250738585072E-308
Наибольшее отрицательное число -1E-307
наверное, в майкросовте тоже есть редкие сволочи
0
0 / 0 / 0
Регистрация: 18.09.2012
Сообщений: 15
21.09.2012, 09:50  [ТС] 8
всем спасибо!
только у ikki не учтён случай, если введено положительное число
0
Заблокирован
21.09.2012, 10:08 9
Цитата Сообщение от Мёрзну Посмотреть сообщение
всем спасибо!
 Комментарий модератора 
Правило 3.6 Если какой-либо пост на форуме показался вам полезным, нажмите кнопку "Спасибо" внизу самого поста.

Цитата Сообщение от Мёрзну Посмотреть сообщение
только у ikki не учтён случай, если введено положительное число
Цитата Сообщение от ikki Посмотреть сообщение
if x<0 and x>m then m=x
Мёрзну, а для чего выделенное условие, по Вашему?
0
0 / 0 / 0
Регистрация: 18.09.2012
Сообщений: 15
21.09.2012, 10:44  [ТС] 10
Апострофф, могла не так выразится, если все числа положительные.
в задании ведь произвольные числа.
0
призрак
3262 / 890 / 119
Регистрация: 11.05.2012
Сообщений: 1,702
Записей в блоге: 2
21.09.2012, 11:04 11
Мёрзну, хорошо подумали?
0
6171 / 936 / 310
Регистрация: 25.02.2011
Сообщений: 1,367
Записей в блоге: 1
21.09.2012, 12:32 12
я бы немного модернизировал код ikki:
Visual Basic
1
2
3
4
5
6
7
8
Sub z()
  Dim x#, m#, i%
  For i = 1 To 20
    x = InputBox("Введите " & i & "-ое число:")
    If x < 0 And (x > m Or m = 0) Then m = x
  Next i
  If m <> 0 Then MsgBox "максимальное из отрицательных = " & m Else MsgBox "отрицательных чисел нет"
End Sub
2
21.09.2012, 12:32
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.09.2012, 12:32
Помогаю со студенческими работами здесь

Вычислить среднее арифметическое положительных чисел и найти максимальный элемент среди отрицательных чисел
Помогите пожалуйста=) Дан одномерный массив чисел {A},к=1..9. Вычислить среднее арифметическое...

Найти максимальный среди отрицательных и произведение нечетных чисел
Вводятся числа. Конец ввода 0. Найти максимальный среди отрицательных и произведение нечетных. На...

В массиве из 20 элементов найти максимальный среди отрицательных
В массиве из 20 элементов найти max элемент среди отрицательных, а из всех остальных элементов...

Найти максимальный среди отрицательных элементов массива
Найти максимальный среди отрицательных элементов массива Х и его индекс. Элементы массива...

Найти максимальный среди отрицательных элементов и сумму элементов на главной диагонали
Всем привет. Очень давно не работал с Pascal'ем и ни как не могу понять, что надо сделать, думаю у...

Найти сумму положительных четных чисел и максимальный среди отрицательных
Вводится не менее 12 чисел. Конец ввода 0. Найти сумму положительных четных чисел и максимальный...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru