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

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

11.07.2013, 20:19. Показов 2705. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru