Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
0 / 0 / 0
Регистрация: 08.06.2016
Сообщений: 5

Массив: Найти сумму трех минимальных из массива двузначных чисел

14.06.2016, 14:37. Показов 3282. Ответов 33
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дан массив из десяти целых двузначных чисел. Найти сумму трех минимальных из них
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.06.2016, 14:37
Ответы с готовыми решениями:

Найти сумму минимальных элементов одномерного массива
Помогите пзлы. Одномерный массив, найти сумму минимальных элементов массива

Найти сумму трех минимальных элементов массива
В масиве 12 элементов которые вводит пользователь. Найти сумму трех минимальных элементов.

Найти сумму минимальных Чисел в каждой строке массива
Есть массив 3на3. Нужно сложить максимальные значения каждой строки. В данный момент имею вот это : for i := 1 to m do begin ...

33
oh my god
 Аватар для fever brain
1456 / 796 / 161
Регистрация: 05.01.2016
Сообщений: 2,307
Записей в блоге: 8
17.06.2016, 21:53
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от gaw Посмотреть сообщение
это кодище не для "проведём эксперимент"
Ну как же, а вот я хочу использовать ваш пример, я второкласник
и ничего не знаю и типах, напишу ручищами это кодище и буду плакать от того
что ответ вышел неверный )
0
413 / 250 / 118
Регистрация: 26.12.2012
Сообщений: 790
17.06.2016, 23:38
Цитата Сообщение от Qwert322 Посмотреть сообщение
Найти сумму трех минимальных из них
Я так и не понял,что в массиве двухзначных чисел заполненном рандомно числа не должны повторяться?В условии я это не увидел.Но ведь результат будет разным!
В моем понимании в любом случае должно быть 3 разных числа,если в массиве не равны все числа тогда будет 2 числа одно из которых будет 0.При любой сортировке все равные числа будут рядом и если они наименьшие результат будет равен сумме 3х или 2х одинаковых чисел.Или я не прав?
Повторюсь на каком рисунке верный результат?
Миниатюры
Массив: Найти сумму трех минимальных из массива двузначных чисел   Массив: Найти сумму трех минимальных из массива двузначных чисел  
0
413 / 250 / 118
Регистрация: 26.12.2012
Сообщений: 790
18.06.2016, 00:03
Когда все элементы равны
Миниатюры
Массив: Найти сумму трех минимальных из массива двузначных чисел   Массив: Найти сумму трех минимальных из массива двузначных чисел  
0
413 / 250 / 118
Регистрация: 26.12.2012
Сообщений: 790
18.06.2016, 01:42
Цитата Сообщение от fever brain Посмотреть сообщение
Мне чтото подсказывает что Ваш вариант работать не будет
Я ваш алгоритм уловил, тоесть суть какая:
просматриваеться массив, для того чтобы найти первое минимальное, затем первое минимальное
передаёт значение второму, второе третьему.
Так вот, алгоритм нерабочий
Ваш
Миниатюры
Массив: Найти сумму трех минимальных из массива двузначных чисел  
0
oh my god
 Аватар для fever brain
1456 / 796 / 161
Регистрация: 05.01.2016
Сообщений: 2,307
Записей в блоге: 8
18.06.2016, 10:14
Цитата Сообщение от Genn55 Посмотреть сообщение
Ваш
Не может такого быть ), это моё выражение никак не даст цифру 4
и уж тем-более чтобы эта цифра повторилась 3 раза:
Visual Basic
1
2
3
4
        Do
            j = 10 + Fix(Rnd * 80)
            If InStr(1, Join(a), j) = 0 Then a(i) =  j: Exit Do
        Loop
уверен что вы написали чтото от себя
В предыдущем посту я не хотел ничем Вас обидеть, а лишь предположил что может неправильно работать, так как я тоже так хотел сделать и результат был неверным
0
413 / 250 / 118
Регистрация: 26.12.2012
Сообщений: 790
19.06.2016, 00:46
От себя я только вставил свой массив,а ваше выражение закомментировал.Ведь разницы нет какой массив обрабатывать?
На скрене видно,что Sum не обнуляется.Пожалуйста не обижайтесь,я думал,что вы сразу поймете свой прокол (наверное спешили),а в остальном результат предсказуем.А на вас я не обижаюсь тем паче,что вы не правильно поняли мой алгоритм.Так как вы мне написали он не может работать в принципе, потому как меньше минимального не бывает.
У меня он работает так как и стоит в условии задачи.Исходный массив не модифицируется и выдает 3 разных минимальных числа,а в массиве они могут повторяться сколько угодно раз.
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
40
41
Option Explicit
Dim Min1 As Integer, Min2 As Integer, Min3 As Integer, i As Integer, Max As Integer
Dim A(1 To 10) As Integer
 
Private Sub Form_Load()
    A(1) = 15
    A(2) = 12
    A(3) = -11
    A(4) = 54
    A(5) = 11
    A(6) = 11
    A(7) = 32
    A(8) = 11
    A(9) = 11
    A(10) = -11
    Min1 = A(1)
    Max = Min1
End Sub
Private Sub Form_Click()
For i = 2 To UBound(A, 1)
    If A(i) > Max Then Max = A(i)
Next
  
    Min1 = Max
For i = 1 To UBound(A, 1)
    If A(i) < Min1 Then
        Min3 = Min2
        Min2 = Min1
        Min1 = A(i)
    ElseIf A(i) < Min2 And A(i) <> Min1 Then
        Min3 = Min2
        Min2 = A(i)
    ElseIf A(i) < Min3 And A(i) <> Min2 And A(i) <> Min1 Then
        Min3 = A(i)
   End If
Next
Print "Сумма минимальных элементов =  "; Min1 + Min2 + Min3
Print "Первый минимальный злемент =  "; Min1
Print "Второй минимальный злемент =  "; Min2
Print "Третий минимальный злемент =  "; Min3
End Sub
Если интересно,прогоните отладчиком и все станет ясно.Уверен,что вы напишите лучше.
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38228 / 21160 / 4314
Регистрация: 12.02.2012
Сообщений: 34,773
Записей в блоге: 14
19.06.2016, 11:55
Без лишнего прохода по массиву (для поиска максимума, который не очень нужен):

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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
Sub minimum3(A() As Integer)
    min1% = A(1)
    min2% = 0
    min3% = 0
    k% = 1
    For i% = 2 To UBound(A, 1)
        aa% = A(i%)
        If k% = 1 Then
           If aa% < min1% Then
              min2% = min1%
              min1% = aa%
              k% = 2
           End If
        ElseIf k% = 2 Then
           If aa% < min1% Then
              min3% = min2%
              min2% = min1%
              min1% = aa%
           ElseIf aa% < min2% Then
              min3% = min2%
              min2% = aa%
           End If
           k% = 3
        Else
           If aa% < min1% Then
              min3% = min2%
              min2% = min1%
              min1% = aa%
           ElseIf aa% < min2% Then
              min3% = min2%
              min2% = aa%
           ElseIf aa% < min3% Then
              min3% = aa%
           End If
        End If
    Next i%
    Debug.Print min1%; " "; min2%; " "; min3%
End Sub
 
Sub Test()
Dim A(1 To 10) As Integer
    A(1) = 15
    A(2) = 12
    A(3) = -11
    A(4) = 54
    A(5) = 11
    A(6) = 11
    A(7) = 32
    A(8) = 11
    A(9) = 11
    A(10) = -11
    minimum3 A
End Sub
0
Заблокирован
19.06.2016, 12:06
Цитата Сообщение от Genn55 Посмотреть сообщение
я думал,что вы сразу поймете свой прокол
Никак не уловлю предмет спора.
Немного изменил код под себя. Строку 19:
Visual Basic
1
2
Private Sub Form_Click()' была
Private Sub Command1_Click()'сделал
Такая чепуха несуразная получилась, что и спорить не о чём. Смотрите картинку и архив (форма 53).
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
40
41
Option Explicit
Dim Min1 As Integer, Min2 As Integer, Min3 As Integer, i As Integer, Max As Integer
Dim A(1 To 10) As Integer
 
Private Sub Form_Load()
    A(1) = 15
    A(2) = 12
    A(3) = -11
    A(4) = 54
    A(5) = 11
    A(6) = 11
    A(7) = 32
    A(8) = 11
    A(9) = 11
    A(10) = -11
    Min1 = A(1)
    Max = Min1
End Sub
Private Sub Form_Click()
For i = 2 To UBound(A, 1)
    If A(i) > Max Then Max = A(i)
Next
  
    Min1 = Max
For i = 1 To UBound(A, 1)
    If A(i) < Min1 Then
        Min3 = Min2
        Min2 = Min1
        Min1 = A(i)
    ElseIf A(i) < Min2 And A(i) <> Min1 Then
        Min3 = Min2
        Min2 = A(i)
    ElseIf A(i) < Min3 And A(i) <> Min2 And A(i) <> Min1 Then
        Min3 = A(i)
   End If
Next
Print "Сумма минимальных элементов =  "; Min1 + Min2 + Min3
Print "Первый минимальный злемент =  "; Min1
Print "Второй минимальный злемент =  "; Min2
Print "Третий минимальный злемент =  "; Min3
End Sub
Миниатюры
Массив: Найти сумму трех минимальных из массива двузначных чисел  
Вложения
Тип файла: rar Form53.rar (741 байт, 3 просмотров)
0
19.06.2016, 14:42

Не по теме:

Infinity20_5, хочешь добрый совет? Сначала изучай алгоритмы (не заморачиваясь органами управления). Любую процедуру без параметров в VBA легко запустить, щелкнув по кнопке "run". А когда освоишься с алгоритмами, переходи к органам управления и событиям... Так будет производительнее.

А метод "народного умельца" (он же - метод тыка) заставляет тебя непроизводительно тратить время (высекая из предлагаемых решений "божьи искры" и "подстраивая решения под себя").

0
413 / 250 / 118
Регистрация: 26.12.2012
Сообщений: 790
19.06.2016, 22:39
Цитата Сообщение от Infinity20_5 Посмотреть сообщение
Такая чепуха несуразная получилась, что и спорить не о чём
Задача
Дан массив из десяти целых двузначных чисел. Найти сумму трех минимальных из них.
Вы хотели увидеть что то другое?
Catstail Вот что я получил:
Миниатюры
Массив: Найти сумму трех минимальных из массива двузначных чисел  
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38228 / 21160 / 4314
Регистрация: 12.02.2012
Сообщений: 34,773
Записей в блоге: 14
19.06.2016, 22:59
Цитата Сообщение от Genn55 Посмотреть сообщение
Catstail Вот что я получил:
- и правильно. А Вы что хотели? Три минимальных в данном случае - это -11 (два раза) и 11.
0
Заблокирован
19.06.2016, 23:11
Цитата Сообщение от Catstail Посмотреть сообщение
Сначала изучай алгоритмы
Catstail!
С наскока перевернул смысл программы, немного погорячился.
На деле всё легко, изучать ничего не надо, достаточно было кликнуть по форме (смысл процедуры в переводе на русский). Картинки внизу.

Catstail, пожалуйста, помогите в теме Проект в VB. 3. 1. Создать проект, который по нажатию кнопки будет прорисовывать сердце проколотое стрелой сделать "график сердца" по формуле: x^2+(y-sqrt(|x|))^2=1. Это куда серьёзней, уже несколько часов потерял напрасно. Сейчас напишу подробности в той теме, про сердце.
Миниатюры
Массив: Найти сумму трех минимальных из массива двузначных чисел   Массив: Найти сумму трех минимальных из массива двузначных чисел  
0
413 / 250 / 118
Регистрация: 26.12.2012
Сообщений: 790
19.06.2016, 23:22
Цитата Сообщение от Catstail Посмотреть сообщение
А Вы что хотели?
Я понял так.В массиве имеются 3 минимума,т.е 3 разных числа и они не равны.А иначе....все решения в этой теме верны кроме моего.
2
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38228 / 21160 / 4314
Регистрация: 12.02.2012
Сообщений: 34,773
Записей в блоге: 14
20.06.2016, 07:44
Genn55, условии задачи действительно есть неоднозначность. Но Ваш подход верен. Я лишь хотел чуть подправить.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.06.2016, 07:44

Найти индекс трех минимальных элементов массива
В чем ошибка? Первых два индекса считает, третий не правильно. МОЖЕТ ЕСТЬ СПОСОБ ПОЛЕГЧЕ int min1 = sum; int min2=0; ...

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

Найти новое трехзначное число путем вычеркивания трех минимальных чисел
Дано шестизначное число N. Найти новое трехзначное число путем вычеркивания трех минимальных чисел (например, старое – 617283, новое – 678)...

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

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


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

Или воспользуйтесь поиском по форуму:
34
Ответ Создать тему
Новые блоги и статьи
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru