Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
-1 / 0 / 0
Регистрация: 16.03.2018
Сообщений: 6
1

Даны числа А, В, С Меньшее из них утроить, "среднее" - удвоить После этого вновь найти большее, "среднее", меньшее

16.03.2018, 12:06. Просмотров 695. Ответов 13
Метки нет (Все метки)

2. Даны числа А, В, С. Меньшее из них утроить, "среднее" - удвоить. После этого вновь найти большее, "среднее", меньшее.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.03.2018, 12:06
Ответы с готовыми решениями:

Даны действительные числа А, В, С. Большее из них возвести в квадрат, "среднее"(по величине)- в куб, меньшее -
Даны действительные числа А, В, С. Большее из них возвести в квадрат, "среднее"(по величине)- в...

Найти большее, "среднее" и меньшее
Даны числа A, B, C. Меньшее из них заменить полусуммой двух других, "среднее" - увеличить на 5....

Даны действительные числа x,y,z. Нужно большее из них уменьшить в 2 раза, меньшее увеличить на среднее, а среднее оставить без изменения.
Даны действительные числа x,y,z. Большее из них уменьшить в 2 раза, меньшее увеличить на среднее,...

Операторы выбора. Даны три различных числа. Среднее поделить на меньшее, меньшее возвести в куб, большее оставить без изменения
Даны три различных числа. Среднее поделить на меньшее, меньшее возвести в куб, большее оставить без...

13
35 / 35 / 9
Регистрация: 16.07.2012
Сообщений: 234
16.03.2018, 16:38 2
eurobeat, изучайте
0
Вложения
Тип файла: zip Книга1.zip (14.9 Кб, 5 просмотров)
1322 / 902 / 285
Регистрация: 11.07.2014
Сообщений: 3,268
17.03.2018, 15:56 3
eurobeat,
Цитата Сообщение от zewsua Посмотреть сообщение
, изучайте
лучше не изучать - громоздкий и неправильный алгоритм, одно select Case True чего стоит. Проверить неправильную работу можно взяв за исходные числа например такие 60 40 25
Проверьте следующий макрос (только расположение чисел и подписей на листе оставьте как у Zewsua). Всё сделано для целых чисел, можно любые описания ставить
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
Sub NumTrue()
Dim I As Integer, Im As Integer, Il As Integer, L As Integer, M As Integer, Ic As Integer
M = 0: L = 10000
For I = 1 To 3
  If Cells(2, I) > M Then M = Cells(2, I): Im = I
  If Cells(2, I) < L Then L = Cells(2, I): Il = I
Next
For I = 1 To 3
  If I <> Im And I <> Il Then Ic = I: Exit For
Next
Cells(7, Il) = Cells(2, Il) * 3
Cells(7, Ic) = Cells(2, Ic) * 2
Cells(7, Im) = Cells(2, Im)
M = 0: L = 10000
For I = 1 To 3
  If Cells(7, I) > M Then M = Cells(7, I): Im = I
  If Cells(7, I) < L Then L = Cells(7, I): Il = I
Next
For I = 1 To 3
  If I <> Im And I <> Il Then Ic = I: Exit For
Next
Cells(2, 6) = Cells(7, Im)
Cells(2, 7) = Cells(7, Ic)
Cells(2, 8) = Cells(7, Il)
End Sub
0
5498 / 1325 / 145
Регистрация: 08.02.2009
Сообщений: 4,044
Записей в блоге: 29
17.03.2018, 19:31 4
Burk, я не проверял, но навскидку — если специально не отсеивать в тройках совпадающие значения — у даной задачи ответов 27 — загляните сюда: http://www.cyberforum.ru/visua... 89.html#13


У товарища под ником Аксима внешне код (проверенный) похож: Поиск наименьшего, среднего и наибольшего чисел из трех заданных!
0
1322 / 902 / 285
Регистрация: 11.07.2014
Сообщений: 3,268
17.03.2018, 19:37 5
Sasha_Smirnov, вы, наверно, не так поняли задачу - исходная тройка только одна во второй строке 1-3 колонка.
далее этапы работы макроса (как и было в файле zewsua): ниже результат после умножения минимального на 3 среднего на 2 (см. исходную постановку задачи). А справа во второй строке максимальное, среднее и минимальное после этих умножений. Задача проста до предела и однозначна
0
5498 / 1325 / 145
Регистрация: 08.02.2009
Сообщений: 4,044
Записей в блоге: 29
17.03.2018, 23:12 6
Хорошо, пускай проста.


У меня нет сейчас ВБА-приложений, но интересно: а что программа скажет на тройку {2; 3; 6} и её линейные комбинации?
0
oh my god
1435 / 774 / 159
Регистрация: 05.01.2016
Сообщений: 2,307
Записей в блоге: 8
18.03.2018, 00:11 7
Я придерживаюсь мнения что лучше заново написать программу
с учетом исходных данных, чем исправлять корявый код

Добавлено через 49 секунд
нате... изучайте )) ну опупел...
0
1322 / 902 / 285
Регистрация: 11.07.2014
Сообщений: 3,268
18.03.2018, 04:14 8
Sasha_Smirnov, 6; 6; 6;

Добавлено через 15 минут
fever brain,
Цитата Сообщение от fever brain Посмотреть сообщение
Я придерживаюсь мнения что лучше заново написать программу
с учетом исходных данных, чем исправлять корявый код
я не исправлял код, а просто взял вид листа у г-на "Изучайте", а макрос поставил свой
1
35 / 35 / 9
Регистрация: 16.07.2012
Сообщений: 234
18.03.2018, 19:25 9
прошу меня извинить за выражение "изучайте", не знаю чего так написал, был не в настроении да и код накидал "по-быстрому" особо не проверяя его... теперь понимаю что алгоритм никакой. Как говорится хотел как лучше а получилось как всегда
0
1322 / 902 / 285
Регистрация: 11.07.2014
Сообщений: 3,268
19.03.2018, 05:27 10
zewsua, принимается
0
0 / 0 / 0
Регистрация: 10.12.2017
Сообщений: 24
20.03.2018, 08:08 11
Сегодня попробуем ответить на вашу просьбу. Там нужны какие-либо дополнительные элементы интерфейса, или чисто код в IDE?
0
14932 / 6333 / 1722
Регистрация: 24.09.2011
Сообщений: 9,977
20.03.2018, 08:53 12
Если речь про Excel, то можно использовать функцию НАИМЕНЬШИЙ (application.small), пример тут: Среди трех чисел a, b, и c найти два числа, дающие минимальную сумму
1
0 / 0 / 0
Регистрация: 10.12.2017
Сообщений: 24
20.03.2018, 14:55 13
Если судить, что парню задают задачу по программированию, то, думаю, что использование функций "Экселя" не очень интересно и практично
0
0 / 0 / 0
Регистрация: 10.12.2017
Сообщений: 24
21.03.2018, 18:54 14
Цитата Сообщение от eurobeat Посмотреть сообщение
2. Даны числа А, В, С. Меньшее из них утроить, "среднее" - удвоить. После этого вновь найти большее, "среднее", меньшее.
Если задача предполагала решение через цикл, то глядите. Если возникнут проблемы по поводу понимания кода, отпишите в ЛС.
0
Вложения
Тип файла: xls Task1.xls (33.0 Кб, 1 просмотров)
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.03.2018, 18:54

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

Операторы выбора. Даны 3 различных числа. Большее уменьшить на среднее, среднее заменить полуразностью двух других,меньшее увеличить втрое
Даны 3 различных числа. Большее уменьшить на среднее, среднее заменить полуразностью двух...

Дана геометрическая прогрессия начиная с "3" со знаменателем "2" Найти среднее арифметическое чисел кратных "4"
Здравствуйте, не могу решить задачу. Помогите) Дана геометрическая прогрессия начиная с &quot;3&quot; со...

Удвоить в строке буквы "ю", "ъ", "ф", "э", а между словами оставить только по одному пробелу
Пользователь заполняет символьную строку русскими буквами. Буквы ю, ъ, ф, э в ней нужно удвоить, а...

Как написать регулярное выражение для выдергивания английских букв и символов: "+", ",", ":", "-", " ", "!", "?" и "."
Не могу ни как собразить как написать регулярное выражение для выдергивания английских букв и...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.