Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/25: Рейтинг темы: голосов - 25, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 27.10.2017
Сообщений: 2
1

Найдите максимальный и минимальный элементы массива

28.11.2017, 19:52. Показов 4600. Ответов 19
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Найдите максимальный и минимальный элементы массива из 10 случайных целых двухзначныых чисел и разность между ними. Представьте графическую столбиковую интерпретацию этого массива, выделите максимальный элемент красным, а минимальный зеленым.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.11.2017, 19:52
Ответы с готовыми решениями:

Найти максимальный и минимальный элементы массива
Задание: есть одномерный массив с 12 елементами, найти максимальный и минимальный элементы. ...

Найти максимальный и минимальный элементы массива и вывести их на экран
Задан одномерный массив X. Необходимо получить согласно (изображению) массив, элементы которого...

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

Найти максимальный и минимальный элементы массива D и поменять их местами
найти максимальный и минимальный элементы массива D и поменять их местами d(80) помогите плиз)

19
643 / 445 / 224
Регистрация: 10.06.2016
Сообщений: 2,039
29.11.2017, 11:01 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
Dim a(10), i, j, k, amin, amax, ares As Integer
'Заполнение массива случайными числами
Private Sub Form_Load()
k = 0
For i = 0 To 1000
j = Int(100 * Rnd(i))
If j >= 10 Then
k = k + 1
a(k) = j
MsgBox a(k)
If k = 10 Then
Exit For
End If
End If
Next
'Поиск минимального и максимального элемента
amin = a(1)
amax = a(1)
For i = 1 To 10
If a(i) < amin Then
amin = a(i)
End If
If a(i) > amax Then
amax = a(i)
End If
Next
ares = amax - amin
MsgBox amin
MsgBox amax
MsgBox ares
 
End Sub
Для вывода в столбик на форму можно использовать массив textbox().
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
36649 / 20372 / 4227
Регистрация: 12.02.2012
Сообщений: 33,717
Записей в блоге: 13
29.11.2017, 12:41 3
Как хорошо, что в современных языках принят двумерный синтаксис. Там такой говнокод даже не протранслируется... Автор думает, что он (в 1-й строке) описал целый массив и несколько целых переменных. А на самом деле целой будет только ares. Остальные - Variant.
0
643 / 445 / 224
Регистрация: 10.06.2016
Сообщений: 2,039
29.11.2017, 12:44 4
Catstail, это вы так за автора думаете, а автор не хуже вас это знает. И что это влияет на результат? Если таковым считать не говорильню.
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
36649 / 20372 / 4227
Регистрация: 12.02.2012
Сообщений: 33,717
Записей в блоге: 13
29.11.2017, 13:12 5
Лучший ответ Сообщение было отмечено Alex77755 как решение

Решение

Цитата Сообщение от slava_psk Посмотреть сообщение
а автор не хуже вас это знает.
- а зачем пишет говнокод, если знает?
1
643 / 445 / 224
Регистрация: 10.06.2016
Сообщений: 2,039
29.11.2017, 13:15 6
Я так и понял, говорильня.... Пустое.
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
36649 / 20372 / 4227
Регистрация: 12.02.2012
Сообщений: 33,717
Записей в блоге: 13
29.11.2017, 13:17 7
А уж заполнение массива из 10 элементов циклом на 1000 витков... Это нечто! Ведущие фирмы мира кусают локти, что не пригласили такого разработчика. А вот так - не проще ли будет:

Visual Basic
1
2
3
4
5
6
   Dim i as integer
   Dim A(1 to 10) as integer
   Randomize
   For i=1 to 10
        A(i)=10+rnd()*90
   Next i
0
11509 / 3795 / 681
Регистрация: 13.02.2009
Сообщений: 11,202
29.11.2017, 13:18 8
массива из 10 случайных
ЖЕСТЬ!!!
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
For i = 0 To 1000
j = Int(100 * Rnd(i))
If j >= 10 Then
k = k + 1
a(k) = j
MsgBox a(k)
If k = 10 Then
Exit For
End If
End If
Next
1
es geht mir gut
11270 / 4752 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
29.11.2017, 13:25 9
Цитата Сообщение от slava_psk Посмотреть сообщение
это вы так за автора думаете
А кто автор ?
0
643 / 445 / 224
Регистрация: 10.06.2016
Сообщений: 2,039
29.11.2017, 13:36 10
Catstail, во первых 1000 витков не будет, а во вторых если на VB6 , то у вас синтаксическая ошибка. Код пишется не для фирмы а для студента, который если даже в этом коде разберется будет хорошо.
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
36649 / 20372 / 4227
Регистрация: 12.02.2012
Сообщений: 33,717
Записей в блоге: 13
29.11.2017, 19:04 11
Цитата Сообщение от slava_psk Посмотреть сообщение
то у вас синтаксическая ошибка
- где?

Добавлено через 6 минут
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
Sub Test()
Dim i As Integer
Dim A(1 To 10) As Integer
   Randomize
   For i = 1 To 10
        A(i) = 10 + Rnd() * 90
   Next i
   For i = 1 To 10
        Debug.Print A(i); " ";
   Next i
   Debug.Print
End Sub
Код
 35   64   12   98   23   58   92   64   72   89  
 40   27   70   10   88   21   57   76   14   72  
 62   91   84   84   27   92   48   35   36   54  
 15   20   85   96   85   94   26   77   36   43  
 11   58   39   41   86   59   11   39   98   29  
 85   97   60   33   54   74   51   54   32   38  
 25   11   90   98   75   91   81   86   79   21  
 50   56   99   96   63   16   67   44   57   96
0
11509 / 3795 / 681
Регистрация: 13.02.2009
Сообщений: 11,202
30.11.2017, 07:12 12
Код пишется не для фирмы а для студента, который если даже в этом коде разберется будет хорошо

Не по теме:

Препод тоже не разберётся и не влепит "пару" за говнокод?

0
643 / 445 / 224
Регистрация: 10.06.2016
Сообщений: 2,039
30.11.2017, 08:32 13
Catstail, Мой VB6 не пропускает
Dim A(1 To 10) As Integer, просит Dim A(0 To 10) As Integer

Добавлено через 1 минуту
Alex77755, Если не разберется, то приставку от кода нужно переставить к преподу.
0
es geht mir gut
11270 / 4752 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
30.11.2017, 08:35 14
Цитата Сообщение от slava_psk Посмотреть сообщение
Мой VB6 не пропускает
Можно скрин посмотреть ?
0
643 / 445 / 224
Регистрация: 10.06.2016
Сообщений: 2,039
30.11.2017, 08:43 15
SoftIce, виноват, ошибся вместо 0 пробил o.
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
36649 / 20372 / 4227
Регистрация: 12.02.2012
Сообщений: 33,717
Записей в блоге: 13
30.11.2017, 10:39 16
slava_psk, у твоего кода есть и еще один недостаток, на который не обратили внимание. Ты не инициализируешь датчик случайных чисел. Это приводит к тому, что твой код при разных запусках будет выдавать одну и ту же последовательность чисел. Я взял твой код, заменил msgbox на debug.print и вот, что получается:

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
Dim a(10), i, j, k, amin, amax, ares As Integer
'Çàïîëíåíèå ìàññèâà ñëó÷àéíûìè ÷èñëàìè
Private Sub Form_Load()
k = 0
For i = 0 To 1000
j = Int(100 * Rnd(i))
If j >= 10 Then
k = k + 1
a(k) = j
'MsgBox a(k)
Debug.Print a(k)
If k = 10 Then
Exit For
End If
End If
Next
'Ïîèñê ìèíèìàëüíîãî è ìàêñèìàëüíîãî ýëåìåíòà
amin = a(1)
amax = a(1)
For i = 1 To 10
If a(i) < amin Then
amin = a(i)
End If
If a(i) > amax Then
amax = a(i)
End If
Next
ares = amax - amin
'MsgBox amin
'MsgBox amax
'MsgBox ares
Debug.Print "amin="; amin
Debug.Print "amax="; amax
Debug.Print "ares="; ares
End Sub
Код
 70 
 53 
 57 
 28 
 30 
 77 
 76 
 81 
 70 
 41 
amin= 28 
amax= 81 
ares= 53 

 70 
 53 
 57 
 28 
 30 
 77 
 76 
 81 
 70 
 41 
amin= 28 
amax= 81 
ares= 53
0
643 / 445 / 224
Регистрация: 10.06.2016
Сообщений: 2,039
30.11.2017, 12:17 17
Catstail, а где в условии задачи написано, что это нужно? По моему так, есть одна случайная комбинация на ней и проверить. Так можно до бесконечности что-то придумывать по этой пустяшной студенческой задачке. Предлагаю закончить это обсуждение.
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
36649 / 20372 / 4227
Регистрация: 12.02.2012
Сообщений: 33,717
Записей в блоге: 13
30.11.2017, 13:21 18
Не надо спорить с очевидным. Благоразумнее признать неправоту. И сказать спасибо, что вам указывют на ошибки.
0
643 / 445 / 224
Регистрация: 10.06.2016
Сообщений: 2,039
01.12.2017, 08:50 19
Catstail, ну кто же за хамство спасибо говорит? Странно это слышать вроде бы не от молодого человека. Прописано ведь более 2000 лет тому назад.
Методически задание заключается в поиске максимума и минимума в массиве, а числа могут задаваться и в ручную или присвоением. Можно до бесконечности что-то придумывать. Например, спросить, а где у вас отрицательные целые числа. А вариант может быть такой и без инициализации RND.
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
Dim a(10), i, j, k, amin, amax, ares As Integer
'
Private Sub Form_Load()
Do
k = 0
For i = 0 To 1000
j = Int(100 * Rnd(i))
If j >= 10 Then
k = k + 1
a(k) = j
'MsgBox a(k)
If k = 10 Then
Exit For
End If
End If
Next
'
amin = a(1)
amax = a(1)
For i = 1 To 10
If a(i) < amin Then
amin = a(i)
End If
If a(i) > amax Then
amax = a(i)
End If
Next
ares = amax - amin
'MsgBox amin
'MsgBox amax
MsgBox ares
i = MsgBox("Продолжить?", 4, "Окно сообщений")
If i = 7 Then End
Loop
End Sub
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
36649 / 20372 / 4227
Регистрация: 12.02.2012
Сообщений: 33,717
Записей в блоге: 13
01.12.2017, 09:21 20
slava_psk, я тебе не хамил. Это ты, если уж на та пошло, хамишь своим вопиющим невежеством. Отрицательных чисел нет ни у меня, ни у тебя. И еще раз: без инициализации датчика случайных чисел в VB6 при каждом запуске будет генерироваться одна и та же последовательность. В детской задаче это не столь важно, а в реальной программе (игре, стат. моделировании) - очень важно.
1
01.12.2017, 09:21
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.12.2017, 09:21
Помогаю со студенческими работами здесь

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

Найдите максимальный и минимальный элементы массива
помогите решить 1) найдите максимальный и минимальный элементы массива 2) Найдите сумму...

Найдите максимальный и минимальный элементы массива
Найдите максимальный и минимальный элементы массива. Максимальный элемент массива поместите в конце...

Используя процедуру, найдите максимальный и минимальный элементы этого массива
Дан одномерный массив из 10 элементов. Используя процедуру,найдите максимальный и минимальный...


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

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