Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 |

 

  Вопрос: Помогите решить задачу VB Добавлено: 24.05.11 15:56  

Автор вопроса:  Lana
В массиве из 20 вещественных чисел (в диапазоне -100,100) найти максимальное по модулю отклонение элемента от среднего арифметического всех элементов массива и вывес-ти элементы, имеющие это отклонение.

Ответить

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

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



ICQ: 345685652 

Вопросов: 96
Ответов: 1212
 Web-сайт: xawp.narod.ru
 Профиль | | #1
Добавлено: 24.05.11 18:05
А массив кто и как задется?

Ответить

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



Вопросов: 1
Ответов: 2
 Профиль | | #2 Добавлено: 24.05.11 18:14
Dim a(20) As Integer
Dim i As Byte, k As Byte, s As Integer, sr As Integer
For i = 1 To 20
Randomize
a(i) = -100 + Rnd * 200
List1.List(i - 1) = a(i) ' вывод в список
Next i
  s = 0 ' сумма
For i = 1 To 20
  s = s + a(i)

это начало решения задачи, вывод массива и поиск его суммы, дальше нужно найти среднее арифметическое и отклоняющиеся элементы по модулю от него, и вывести в тектстовое окно максимальное

Ответить

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



ICQ: 345685652 

Вопросов: 96
Ответов: 1212
 Web-сайт: xawp.narod.ru
 Профиль | | #3
Добавлено: 24.05.11 18:19
  1. Private Sub Command1_Click()
  2.     Dim A(1 To 20) As Long
  3.     Dim N As Long
  4.     Dim SM As Long
  5.     Dim Max As Long
  6.     Dim Cur As Long
  7.         
  8.     Rem Заполняем массив случайными числами
  9.     For N = 1 To 20
  10.         A(N) = Int(Rnd * 201) - 100
  11.     Next
  12.     
  13.     Rem Находим среднее арифметическое элементов массива
  14.     For N = 1 To 20
  15.         SM = SM + A(N)
  16.     Next
  17.     SM = SM \ 20
  18.     
  19.     Rem Находим Максимальное отклонение
  20.     For N = 1 To 20
  21.         Cur = Abs(A(N) - SM)
  22.         If Cur > Max Then Max = Cur
  23.     Next
  24.     
  25.     Rem Выводим все элементы с этим отклонением
  26.     For N = 1 To 20
  27.         Cur = Abs(A(N) - SM)
  28.         If Cur = Max Then
  29.             Print N & ". " & Cur
  30.         End If
  31.     Next
  32.     
  33. End Sub

Вместо "Print N & ". " & Cur" можно выводить в текстовое после
  1. Text1.Text = Text1.Text & N & ". " & Cur & vbCrLf

И нужно обязательно поставить свойство Multiline = True у текстового поля.

Ответить

Номер ответа: 4
Автор ответа:
 Lana



Вопросов: 1
Ответов: 2
 Профиль | | #4 Добавлено: 24.05.11 18:41
Спасибо!

Ответить

Номер ответа: 5
Автор ответа:
 Серёга



ICQ: 262809473 

Вопросов: 17
Ответов: 561
 Web-сайт: houselab.narod.ru
 Профиль | | #5
Добавлено: 24.05.11 19:14
  1. Abs(A(N) - SM)
имхо это не совсем то, что нужно.

Ответить

Номер ответа: 6
Автор ответа:
 AWP



ICQ: 345685652 

Вопросов: 96
Ответов: 1212
 Web-сайт: xawp.narod.ru
 Профиль | | #6
Добавлено: 24.05.11 20:04
Abs(A(N) - SM)
имхо это не совсем то, что нужно.

Модуль разности между средним значением и значением из таблицы. ИМХО то.

Ответить

Номер ответа: 7
Автор ответа:
 Серёга



ICQ: 262809473 

Вопросов: 17
Ответов: 561
 Web-сайт: houselab.narod.ru
 Профиль | | #7
Добавлено: 24.05.11 20:26
Ну может я что то неправильно понял :/
Вот она пишет:
найти максимальное по модулю отклонение элемента от среднего арифметического

Допустим элемент у нас равен -5, а среднее арифметическое -3.
Ты согласишься, что отклонение по модулю -5 от -3 это 2?

Ответить

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



ICQ: 345685652 

Вопросов: 96
Ответов: 1212
 Web-сайт: xawp.narod.ru
 Профиль | | #8
Добавлено: 24.05.11 21:02
да.
Abs((-5) - (-3)) = 2
Что тебя смущает-то?

Ответить

Номер ответа: 9
Автор ответа:
 Серёга



ICQ: 262809473 

Вопросов: 17
Ответов: 561
 Web-сайт: houselab.narod.ru
 Профиль | | #9
Добавлено: 24.05.11 21:18
:)
Уже ничего. Это я сам что то запутался :)

Ответить

Номер ответа: 10
Автор ответа:
 AWP



ICQ: 345685652 

Вопросов: 96
Ответов: 1212
 Web-сайт: xawp.narod.ru
 Профиль | | #10
Добавлено: 24.05.11 21:47
бывает =)

Ответить

Страница: 1 |

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



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