Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.12.2009, 15:29   #1
мария2507
Пользователь
 
Регистрация: 21.12.2009
Сообщений: 47
По умолчанию Определить, какая цифра расположена левее – максимальная или минимальная

Дано натуральное четырехзначное число. Определить, какая цифра расположена левее – максимальная или минимальная
мария2507 вне форума Ответить с цитированием
Старый 22.12.2009, 16:06   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Код:
Sub КакаяЦифраЛевее(b As Integer)
    'Определить, какая цифра расположена левее – максимальная или минимальная
    txt = CStr(b)
    If Len(txt) = 4 Then
        МаксимальнаяЦифра = 0: МинимальнаяЦифра = 10

        For i = 1 To Len(txt)
            цифра = Val(Mid(txt, i, 1))
            If цифра > МаксимальнаяЦифра Then МаксимальнаяЦифра = цифра
            If цифра < МинимальнаяЦифра Then МинимальнаяЦифра = цифра
        Next
        
        If InStr(1, txt, МаксимальнаяЦифра) > InStr(1, txt, МинимальнаяЦифра) Then
            MsgBox "МинимальнаяЦифра левее"
        Else
            MsgBox "МаксимальнаяЦифра левее"
        End If
    Else
        MsgBox "введите 4-значное число"
    End If
End Sub

Sub test()
    КакаяЦифраЛевее 5927
End Sub
EducatedFool вне форума Ответить с цитированием
Старый 22.12.2009, 16:31   #3
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

Или формулой массива:
В ячейке А1 Ваше четырехзначное число.
Формула
Код:
=ЕСЛИ(НАЙТИ(МАКС(ЗНАЧЕН(ПСТР(A1;СТРОКА(ДВССЫЛ("1:"&ДЛСТР(A1)));1)));A1)<
НАЙТИ(МИН(ЗНАЧЕН(ПСТР(A1;СТРОКА(ДВССЫЛ("1:"&ДЛСТР(A1)));1)));A1);
МАКС(ЗНАЧЕН(ПСТР(A1;СТРОКА(ДВССЫЛ("1:"&ДЛСТР(A1)));1)));
МИН(ЗНАЧЕН(ПСТР(A1;СТРОКА(ДВССЫЛ("1:"&ДЛСТР(A1)));1))))
Эта формула выводит непосредственно само число.
Код:
=ЕСЛИ(НАЙТИ(МАКС(ЗНАЧЕН(ПСТР(A1;СТРОКА(ДВССЫЛ("1:"&ДЛСТР(A1)));1)));A1)<
НАЙТИ(МИН(ЗНАЧЕН(ПСТР(A1;СТРОКА(ДВССЫЛ("1:"&ДЛСТР(A1)));1)));A1);"максимальное";"минимальное")
А эта показывает какое число расположено левее.

Напомню, что формулы массива вводяться не как обычные. Завершается ввод формулы массива в ячейку сочетанием клавиш Ctrl+Shift+Enter. Формула тогда заключиться в фигурные скобки {}
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Старый 22.12.2009, 16:32   #4
мария2507
Пользователь
 
Регистрация: 21.12.2009
Сообщений: 47
По умолчанию

а я вот так начала делать:
Function maxmin(t, y As Integer)
If t > 1000 And t < 9999 Then
a = Int(t / 1000)
b = Int((t - a * 1000) / 100)
c = Int((t - a * 1000 - b * 100) / 10)
d = Int(t - a * 1000 - b * 100 - c * 10)
If a <> b And a <> c And a <> d And b <> c And b <> d And c <> d Then





MsgBox ("проверяемое число не содержится в заданном числе")
End If

Else
MsgBox ("Введите четырех значное число")
End If
End Function




вот где много enterов, я там не знаю че писать(((
а в программе EducatedFool ни че не пойму((( как там проверить????


The_Prist, мне надо в макросе

Последний раз редактировалось мария2507; 22.12.2009 в 16:39.
мария2507 вне форума Ответить с цитированием
Старый 22.12.2009, 16:41   #5
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

Цитата:
Сообщение от мария2507 Посмотреть сообщение
The_Prist, мне надо в макросе
Этого Вы не написали в топике.
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача - Определить, какая из двух фигур – круг или квадрат – имеет большую площадь. Incognitoal Microsoft Office Excel 7 05.03.2009 11:36
Как определить, какая кнопка нажата? Paul Hindenburg Компоненты Delphi 1 19.02.2009 23:15
Программа, определяющую, какая цифра введена – четная или нечетная. JustinTI Помощь студентам 6 21.12.2008 12:03
Какая максимальная длина string? K1ller Общие вопросы C/C++ 2 25.11.2008 19:38
Функция определить цифра или нет. dx+ Общие вопросы Delphi 8 26.05.2008 10:59