Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
6 / 6 / 1
Регистрация: 23.12.2012
Сообщений: 131

Не знаю как найти среднее геометрическое элементов

11.07.2013, 20:19. Показов 2732. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
"Есть двумерный массив. Нужно найти среднее арифметическое выше главной диагонали и среднее геометрическое выше побочной."
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
Sub Vice()
 
Dim i, j, fox1, fox2 As Integer
Const m As Integer = 3
Dim Mas(1 To m, 1 To m) As Integer, Sum1, Sum2, MedArif, MedGeom, S As String
    
For i = 1 To m
For j = 1 To m
n = n + 1
Mas(i, j) = InputBox("Введите " & j & "-й элемент " & i & " -й строки")
Next j
Next i
 
'находим кол-во элементов выше главной диагонали и их сумму
For i = 1 To m
For j = 1 To m
Sum1 = 0
If j > i Then ' все, что выше главной диагонали
Sum1 = Sum1 + Mas(i, j) '...сумму
fox1 = fox1 + 1 'количество элементов...
End If
Next j
Next i
 
MedArif = Sum1 / fox1 'среднее арифметическое элементов выше главной диагонали
 
' вот дальше не знаю. По какому принципу идем дальше? Как определить геометрическую прогрессию? Ведь ее может и не быть?? Или я что недопонимаю.
'находим сумму и кол-во элементов выше побочной, верно?
For i = 1 To m
For j = 1 To m
If i + j - 1 < m Then
Sum2=Sum2+Mas(i,j)
Fox2=fox2+1
 
S = S & "Cреднее арифметическое элементов выше гл. диагонали  " & MedArif & "; " & "Среднее геометрическое выше побочной" & MedGeom
MsgBox S
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.07.2013, 20:19
Ответы с готовыми решениями:

Найти среднее геометрическое элементов массива
помогите пожалуйста В заданном массиве A1,A2,......,An с положительными элементами найти среднее геометрическое,а затем всё элементы с...

Найти среднее геометрическое всех элементов массива
Дан массив А(20), состоящий из целых случайных чисел. заменить нулевые элементы на -1. Для четных элементов сначала найти среднее...

Найти среднее геометрическое массива. Максимальный элемент массива увеличить на среднее геометрическое
Добрый день! Дана задача Ввести массив A(N). Найти среднее геометрическое значение массива. Максимальный элемент массива увеличить на...

11
 Аватар для morgann55
1365 / 207 / 37
Регистрация: 09.02.2012
Сообщений: 745
11.07.2013, 20:53
Как определить геометрическую прогрессию? Ведь ее может и не быть?? Или я что недопонимаю
В условии ничего не сказано про "геометрическую прогрессию" Нужно "среднее геометрическое" - ОНО есть всегда (только разного "вида").
http://ru.wikipedia.org/wiki/%... 1%EA%EE%E5
Выше Главной (в уме прикидываю) - это ВСЁ когда i меньше j (i<j)... А вот выше побочной ... надо найти формулу...
Вроде j=m-i

Добавлено через 6 минут
Вернее j<=m-i

Добавлено через 2 минуты
Ааа, ведь у тебя вроде так и написано
1
11.07.2013, 20:55

Не по теме:

Super GT, ты что там за всю группу решаешь?

1
 Аватар для morgann55
1365 / 207 / 37
Регистрация: 09.02.2012
Сообщений: 745
11.07.2013, 21:01
(A1*A2*A3....*An) - вот из этого надо вытащить корень (n) - среднее геометрическое
всё перемножить и найти корень (fox2)
1
6 / 6 / 1
Регистрация: 23.12.2012
Сообщений: 131
11.07.2013, 22:17  [ТС]

Не по теме:

SoftIce, :rofl:
У самого припекает, хочу хорошо подготовиться)



morgann55,
Ок, сейчас попробую.

Добавлено через 48 минут
Ерунда какая-то выходит, то overflow, то out of range...
0
 Аватар для morgann55
1365 / 207 / 37
Регистрация: 09.02.2012
Сообщений: 745
11.07.2013, 22:31
overflow бей Longom, а индексы больше m зачем заказываеть-то ??
1
6 / 6 / 1
Регистрация: 23.12.2012
Сообщений: 131
12.07.2013, 11:53  [ТС]
Проверьте правильность нахождения среднего геометрического
Кликните здесь для просмотра всего текста
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
Sub Zero()
 
Dim i, j, n, k As Integer
Const m As Integer = 3
Dim Mas(1 To m, 1 To m) As Integer, Sum, Pro, MedArif, MedGeom, S As String
 
For i = 1 To m
For j = 1 To m
Mas(i, j) = InputBox("Введите " & j & "-й элемент " & i & " -й строки")
Next j
Next i
 
'кол-во элементов выше гл. диаг. и их сумма
Sum = 0
n = 0
For i = 1 To m
For j = 1 To m
If i < j Then
n = n + 1
Sum = Sum + Mas(i, j)
End If
Next j
Next i
MedArif = Abs(Sum / n) 'сред.арифм.
 
'среднее геом. выше побочной вычислял по этой формуле [url]http://www.fxyz.ru/формулы_по_математике/'средние_величины/среднее_геометрическое/[/url]
k = 0
Pro = 1
For i = 1 To m
For j = 1 To m
If i + j - 1 < m Then
k = k + 1
Pro = Pro * Mas(i, j)
End If
Next j
Next i
MedGeom = Pro ^ Abs(1 / k)
 
S = S & "Сред. ариф. выше главной диагонали " & MedArif & vbCrLf
S = S & "Сред. геом. выше побочной  " & MedGeom
MsgBox S
 
End Sub
0
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
12.07.2013, 12:35
Лучший ответ Сообщение было отмечено The trick как решение

Решение

Super GT, объявляйте переменные правильно! И делайте отступы в коде!
Вы думаете, я пишу лишний раз as Integer ради собственного развлечения?
А в каждой следующей задаче Вы их опять убираете.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
Sub Zero()
   Dim i As Integer, j As Integer, n As Integer
   Const m As Integer = 3
   Dim Mas(1 To m, 1 To m) As Integer
   Dim Sum As Double, Pro As Double
   Dim MedArif As Double, MedGeom As Double
   Dim S As String
   
   Randomize
   For i = 1 To m
        For j = 1 To m
             ' Mas(i, j) = InputBox("Введите " & j & "-й элемент " & i & " -й строки")
              Mas(i, j) = Int(Rnd * 9 + 1)
              S = S & Mas(i, j) & vbTab
        Next j
        S = S & vbCrLf
   Next i
 
   'кол-во элементов выше гл. диаг. и их сумма
   For i = 1 To m
        For j = 1 To m
              If i < j Then
                  n = n + 1
                  Sum = Sum + Mas(i, j)
              End If
        Next j
   Next i
   MedArif = Abs(Sum / n) 'сред.арифм.
 
   'среднее геом. выше побочной вычислял по этой формуле [url]http://www.fxyz.ru/формулы_по_математике/'средние_величины/среднее_геометрическое/[/url]
    n = 0
    Pro = 1
    For i = 1 To m
         For j = 1 To m
             If i + j - 1 < m Then
                  n = n + 1
                  Pro = Pro * Mas(i, j)
             End If
         Next j
    Next i
    MedGeom = Pro ^ Abs(1 / n)
 
    S = S & "Сред. ариф. выше главной диагонали " & MedArif & vbCrLf
    S = S & "Сред. геом. выше побочной  " & MedGeom
    MsgBox S
 
End Sub
1
6 / 6 / 1
Регистрация: 23.12.2012
Сообщений: 131
12.07.2013, 12:49  [ТС]
Так это...предложенный мной алгоритм считает правильно или нет?
0
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
12.07.2013, 12:56
Цитата Сообщение от Super GT Посмотреть сообщение
алгоритм считает правильно или нет
Алгоритм, конечно, не самый эффективный, но считает правильно

Не по теме:

Стесняюсь спросить: зачем там Abs ?

1
6 / 6 / 1
Регистрация: 23.12.2012
Сообщений: 131
12.07.2013, 13:22  [ТС]
Цитата Сообщение от SoftIce Посмотреть сообщение
Алгоритм, конечно, не самый эффективный, но считает правильно
Я только третий день VB изучаю, какая тут эффективность!

Цитата Сообщение от SoftIce Посмотреть сообщение
Стесняюсь спросить: зачем там Abs ?
Таки да, не нужно.
0
 Аватар для morgann55
1365 / 207 / 37
Регистрация: 09.02.2012
Сообщений: 745
12.07.2013, 17:02
1) Abs даже ошибочен - ведь условие не исключает отрицательные...
2) n и k считать - лишнее действие n=k = (m^2-m)/2
(вроде не наврал с просонок )
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.07.2013, 17:02
Помогаю со студенческими работами здесь

Найти среднее геометрическое всех элементов массива и наибольшее отклонение от среднего
Дан массив с(15). Найти среднее геометрическое всех элементов массива и наибольшее отклонение от среднего, т. е максимум из (с(i)...

Найти количество и среднее геометрическое элементов одномерного массива А, удовлетворяющих условию
1. Найти количество и среднее геометрическое элементов одномерного массива А, удовлетворяющих условию 1 &lt; {a}_{i} &lt; 5. Помогите...

Вычислить среднее геометрическое элементов матрицы
Вычислить среднее геометрическое элементов матрицы R, размер CxC, расположенной на главной диагонали

Найти среднее геометрическое значение массива
Не могу решить, помогите! Ввести массив A(N). Найти среднее геометрическое значение массива. Максимальный элемент массива разделить...

Ввести массив А(N) Найти среднее геометрическое значение
1. Ввести массив А(N). Найти среднее геометрическое значение массива. Минимальный элемент массива увеличить на среднее геометрическое....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru