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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.06.2009, 17:52   #1
kenny91
Новичок
Джуниор
 
Регистрация: 09.03.2009
Сообщений: 2
По умолчанию Visual Basic последнее min число из вводимых чисел!

Private Sub Command1_Click()
Dim n As Integer, x As Integer, i As Integer, min As Integer
min = Val(InputBox("vvesti element"))
Do
x = Val(InputBox("vvesti element"))
If x <= min And x > 0 Then
min = x
End If
Loop While x <> 0
Text1.Text = min
End Sub

нужно сделать так, что бы выводилоь именно последнее минимальное число из всех вводимых . сделать это нужно без использования массива .
помогите , буду очень рад, готов посодействовать .
kenny91 вне форума Ответить с цитированием
Старый 05.06.2009, 18:28   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

А в чем вопрос-то? ) У вас же и так выводится минимальное число.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 05.06.2009, 18:57   #3
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Ему надо было "последнее min число из положительных чисел"...
Я уже объяснил, что такое невозможно.
EducatedFool вне форума Ответить с цитированием
Старый 05.06.2009, 23:25   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от EducatedFool
Ему надо было "последнее min число из положительных чисел"...
Я уже объяснил, что такое невозможно.
Извините, что вмешиваюсь..
А можно мне "разжевать" — почему невозможно?
ведь достаточно добавить перед сравнением на минимальность проверку на положительность if x>0 Then
и всё...
Или я что-то не понял?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 05.06.2009, 23:28   #5
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Serge_Bliznykov, я тоже немного не понял )
Собственно, у ТС, вроде, и работает как должно:
Код:
If x <= min And x > 0 Then
Только при вводе первого числа нужно еще добавить проверку.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 06.06.2009, 00:07   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Собственно, у ТС, вроде, и работает как должно:
Код:
If x <= min And x > 0 Then
оп-с! Точно, я это проглядел!
Ну тем более странно высказывание о невозможности выполнить задачу, которая решена... что-то я не понял...

EducatedFool, поясните, плиз. что имеется в виду!

p.s. кстати, я бы Min не присваивал первый элемент, а задавал какое-нибудь заведомо большое число, или завёл признак, было у нас уже что-то в Min
вариант 1:
Код:
   min = 32767
   Do
      x = Val(InputBox("vvesti element"))
      If x <= min And x > 0 Then
         min = x
      End If
   Loop While x <> 0
   if min<> 32767 Then
      Text1.Text = min
   End If
вариант 2.
Код:
   dim MinPriznak as Boolean
   MinPriznak = False
   Do
      x = Val(InputBox("vvesti element"))
      if x > 0 Then
         if Not MinPriznak Then
           min = x
           MinPriznak = True
         else
           If x <= min Then
             min = x
          End If
        End If
   Loop While x <> 0
   if MinPriznak  Then
      Text1.Text = min
   End If
Serge_Bliznykov вне форума Ответить с цитированием
Старый 06.06.2009, 00:19   #7
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Судя по тексту задания, которое ТС скинул мне в личку, требовалось найти "последнее min число из положительных чисел"

Лично я могу найти
либо ПОСЛЕДНЕЕ положительное,
либо МИНИМАЛЬНОЕ положительное

К примеру, введены числа: 2, 5, 4, 6
И какое из них будет последнее минимальное?
EducatedFool вне форума Ответить с цитированием
Старый 06.06.2009, 00:27   #8
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
Сообщение от EducatedFool
И какое из них будет последнее минимальное?
Очевидно, 2
Но да, если вдуматься в задание, то звучит оно странно.
Я его так понял:
Если есть числа 2, 5, 4, 6, 2, 7
то последнее минимальное будет 2, но именно та двойка, которая последняя (слева от 7).
В общем, согласен, звучит не совсем корректно. Тем более, что при выводе все равно, где стоит эта двойка. Хоть последней, хоть первой.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 06.06.2009, 00:34   #9
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

EducatedFool.
ага. вот теперь всё стало понятно.
вопрос в интерпретации, что считать последним минимальным.

Цитата:
К примеру, введены числа: 2, 5, 4, 6
И какое из них будет последнее минимальное?
последним минимальным (и просто минимальным) будет, разумеется, число 2

Смотрите, если в задаче потребовать ещё вывести порядковый номер найденного последнего минимального положительного элемента - то задача сразу обретает смысл:
для чисел: 5 3 3 8 3 5 последнее минимальное положительное будет пятое число (т.е. третья тройка)... имхо, конечно...

p.s. И спасибо за ответ. теперь я понял, то, что я не понимал.
Теперь пусть автор вопроса разбирается (для себя, разумеется) с последними минимальными...

Добавлено.
Sazary, писал свой ответ, ещё не видя вашего поста.
Обратите внимание!
просто удивительно, насколько совпали мысли, слова и аргументы!
Теперь уж точно тема "последних минимальных" раскрыта!

Последний раз редактировалось Serge_Bliznykov; 06.06.2009 в 00:37.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 06.06.2009, 14:05   #10
kenny91
Новичок
Джуниор
 
Регистрация: 09.03.2009
Сообщений: 2
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
EducatedFool.
для чисел: 5 3 3 8 3 5 последнее минимальное положительное будет пятое число (т.е. третья тройка)... имхо, конечно...
да , вот это ближе к истине , мне нужно чтобы выводился порядковый номер последнего минимального числа !
наконец то смог переформулировать задание ВУЗа более грамотно
kenny91 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
поиск суммы последовательных чисел, вводимых с клавиатуры, предшествующих первому введённому нулю hen Помощь студентам 8 22.04.2009 23:03
Среди 20 введёных чисел определить чётные, распечатать их, определить min Spade Помощь студентам 4 15.06.2008 18:39
суммирование вводимых чисел в одной ячейке Albert Microsoft Office Excel 8 07.01.2007 23:47