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

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

11.07.2013, 20:19. Показов 2738. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru