Другие языки программирования и технологии

Вводится последовательность чисел, 0 – конец последовательности. Найти два наибольших числа (VB) прошу помощи

Найти два наибольших числа (VB)
прошу помощи
Знаете, чего не хватает в вашем вопросе?
Указания разновидности VB (VB6, VBA, VBS или VB.NET)
Уточнения, считать ли равные по значению числа разными наибольшими или одним и тем же числом или оговорки, что все числа заведомо не равны друг другу.

Для решения этой задачи массив не нужен. Visual Basic.NET. Равные числа считаются разными.

Module N89333861
  Sub Main()
    Dim x, Max1, Max2 As Double
    Dim i As Integer = 0
    Console.WriteLine("Вводите числа последовательности (0 - конец ввода): ")
    Do
      Console.Write("> ")
      Do While Not Double.TryParse(Console.ReadLine(), x)
        Console.Write("Ошибка! Введите число: ")
      Loop
      If x <> 0 Then
        If i = 0 Or x > Max1 Then
          Max2 = Max1
          Max1 = x
        ElseIf x > Max2 Then
          Max2 = x
        End If
        i += 1
      End If
    Loop Until x = 0
    If i < 2 Then
      Console.WriteLine("Последовательность содержит меньше 2 чисел. ")
    Else
      Console.WriteLine("Два наибольших числа: {0}; {1}", Max1, Max2)
    End If
    Console.Write("Для завершения работы нажмите любую клавишу... ")
    Console.ReadKey()
  End Sub
End Module
ДК
Дмитрий Капанин
51 590
Лучший ответ
И в чем у Вас затруднения?
Переменные и массивы проходили?
Циклы, операторы сравнения.. .
Естественно проходили, это ведь самые основы программирования !

Итак.. .
Создаете динамический массив целого типа.
В цикле изменяете размерность массива и заполняете его числами.
Заполнять можно используя функцию InputBox.
Заполняете до тех пор пока пользователь не введет "0"

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

Все собственно.. .
Salavat Iztleuov
Salavat Iztleuov
75 434

Похожие вопросы