Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Найти максимальное из n чисел Добавлено: 08.02.06 18:42  

Автор вопроса:  СЕРЕЖЕНЬКА
Найти максимальное из n чисел (без использования массивов).Указать номер первого и последнего такого числа.Числа писать через пробел

Ответить

  Ответы Всего ответов: 10  

Номер ответа: 1
Автор ответа:
 HOOLIGAN



Вопросов: 0
Ответов: 1066
 Профиль | | #1 Добавлено: 08.02.06 19:49
Ну так и найди. В чём проблема?

Ответить

Номер ответа: 2
Автор ответа:
 СЕРЕЖЕНЬКА



Вопросов: 4
Ответов: 1
 Профиль | | #2 Добавлено: 08.02.06 20:56
Если б я знал, так щас бы здесь не сидел...ПОМОГИТЕ

Ответить

Номер ответа: 3
Автор ответа:
 HOOLIGAN



Вопросов: 0
Ответов: 1066
 Профиль | | #3 Добавлено: 08.02.06 21:27
Эта задача проще, чем к примеру в уме сложить 15 и 7.

Делаешь переменную, называешь её Maximum.
Заносишь в неё первое из своих чисел.
Начиная со второго сравниваешь каждое из своих чисел c этой переменной. Если n-ное число оказалось больше, чем Maximum, то в Maximum записываешь это n-ное число.
Когда сравнишь последовательно все числа, в Maximum будет содержаться самое большое.

Ответить

Номер ответа: 4
Автор ответа:
 Страшный Сон



Вопросов: 46
Ответов: 848
 Профиль | | #4 Добавлено: 08.02.06 21:50
Сначала нужно занести в массив числа из строковой переменной, записанные через пробел. Делается это через Split:


Dim I&, S$, L$(), N&;()
S = "390 36 8469 -422 107 666"
L = Split(S, " ";)
ReDim N&;(UBound(L))
For I = 0 To UBound(L)
  N(I) = CLng(L(I))
Next I

Ответить

Номер ответа: 5
Автор ответа:
 Pashenko



ICQ: 176176951 

Вопросов: 14
Ответов: 655
 Профиль | | #5 Добавлено: 09.02.06 11:06
Сначала нужно занести в массив числа

Написано же:
без использования массивов


Dim Number As String
Dim Num As Double
Dim Max As Double
Dim Count As Long
Dim First As Long
Dim Second As Long
Dim i As Long
Dim j As Long
Dim L As Long

Number = InputBox("Введите числа";)
L = Len(Number)
Max = -1.79769313486231E+308
Count = 1
i = 1
Do While i <> L
    j = InStr(i, Number, " ";)
    If j <> 0 Then
        Num = Val(Mid$(Number, i, j - i))
        If Num > Max Then
            Max = Num
            First = Count
            Second = Count
        Else
            If Num = Max Then
                Second = Count
            End If
        End If
        i = j + 1
    Else
        i = L
    End If
Count = Count + 1
Loop
MsgBox "Максимальное число - " & Max & ", Первое - " & First & ", Последнее - " & Second

Ответить

Номер ответа: 6
Автор ответа:
 Страшный Сон



Вопросов: 46
Ответов: 848
 Профиль | | #6 Добавлено: 10.02.06 13:00
С использованием массивов будет рациональнее.

Ответить

Номер ответа: 7
Автор ответа:
 Страшный Сон



Вопросов: 46
Ответов: 848
 Профиль | | #7 Добавлено: 10.02.06 13:02
С использованием массивов будет рациональнее.

Ответить

Номер ответа: 8
Автор ответа:
 Pashenko



ICQ: 176176951 

Вопросов: 14
Ответов: 655
 Профиль | | #8 Добавлено: 10.02.06 13:07
Возможно, но без использования массивов задача будет отвечать поставленным условиям, а с использованием - нет.

Ответить

Номер ответа: 9
Автор ответа:
 AgentFire



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #9 Добавлено: 12.02.06 15:31
Условие гласит, видимо, что ВВОДНЫЕ данные не в формате массива. А использовать это нужно рационально, то бишь с массивом

Ответить

Номер ответа: 10
Автор ответа:
 [root]



Вопросов: 45
Ответов: 1212
 Web-сайт: bit.pirit.info
 Профиль | | #10
Добавлено: 13.02.06 19:44
Не вижу ничего сложного
Проверил на больше, заменил, сохранил

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам