Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

Страница: 1 |

 

  Вопрос: Сумма чисел Добавлено: 22.04.07 11:53  

Автор вопроса:  Dark
Найти сумму четырех чисел, исключая самое большое и самое маленькое. Числа целые, находятся в массиве.
Если еще какой-нибудь вариант кроме этих 2:
1) Отсортировать пузырьком, взять два средних в получившемся массиве и сложить.
2) Найти 2 средних числа с помощью кучи вложенных if'ов и сложить.
По-моему эти два способа очень неаккуратные. Можно ли найти красивое решение?

Ответить

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

Номер ответа: 1
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #1
Добавлено: 22.04.07 13:40
С помощью цикла из 4-х итераций найти мин и макс, а потом найти сумму
всех чисел кроме мин и макс. Что-то вроде:

Dim a() As Int32 = {5, 3, 4, 8}
Dim min As Int32 = 0
Dim max As Int32 = 0

For i As Int32 = 0 To a.GetUpperBound(0)
  If a(i) > a(max) Then
    max = i
    Continue For
  End If
  If a(i) < a(min) Then
    min = i
  End If
Next

Dim sum as Int32 = 0
For i As Int32 = 0 To a.GetUpperBound(0)
  If i <> min AndAlso i <> max Then
    sum += a(i)
  End If
Next

Console.WriteLine(sum.ToString())


Я бы так сделал.
КОд не проверял, могут быть очепятки. Но идея, думаю, ясна.

Ответить

Номер ответа: 2
Автор ответа:
 shuffle



Администратор

ICQ: 201502381 

Вопросов: 15
Ответов: 737
 Профиль | | #2 Добавлено: 23.04.07 00:21
1) Отсортировать пузырьком, взять два средних в получившемся массиве и сложить.

Можно и не пузырьком сортировать :)

Ответить

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


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #3
Добавлено: 23.04.07 16:28
Интересно, будет ли квиксорт быстрее на массиве из 4 элементов :)

Ответить

Страница: 1 |

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



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