Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.52/25: Рейтинг темы: голосов - 25, средняя оценка - 4.52
53 / 0 / 1
Регистрация: 26.06.2012
Сообщений: 25

Вычислить среднюю сумму квадратов отрицательных элементов на побочной диагонали матрицы

26.06.2012, 15:11. Показов 5005. Ответов 38
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет.Нужна помощь на VBA,задание такое:
Вычислить среднюю сумму квадратов отрицательных элементов расположенных на побочной диагонали матрицы А(m,n),результат должен вывестись на рабочий лист - Лист1

Так как я в VBA первый раз,пробовал что то вроде этого:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Public sub Matric_1
Dim a(,) as Integer
Dim m as Integer
Dim n as Integer
Dim i as Integer
Dim sum as Integer
 
m = InputBox("Введите размерность 1")
n = InputBox("Введите размерность 2")
ReDim a(n,m) as Integer
'Очевидно дальше начинается бред
For i=0 to m 
  For i=0 to n
    If i < 0 then
      sum= i+i^2
'Дальше мой моск дал отказ
End Sub
Собственно не знаю,по побочной ли диагонали идет проверка или по главной?Если не правильно то как надо?

Помогите.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.06.2012, 15:11
Ответы с готовыми решениями:

Вычислить сумму квадратов отрицательных чисел, лежащих выше побочной диагонали
Вычислить сумму квадратов отрицательных чисел, лежащих выше побочной диагонали. напишите пожалуйста код программы

Найти сумму отрицательных элементов побочной и количество отрицательных элементов главной диагонали матрицы
Найти сумму отрицательных элементов побочной диагонали и количество отрицательных элементов главной диагонали матрицы А(4,4).

Вычислить сумму квадратов элементов из заданного интервала и лежащих на побочной диагонали и ниже ее
/*Вычислить сумму квадратов элементов, принадлежащих заданному промежутку (E, F] и лежащих на побочной диагонали и ниже ее*/ #include...

38
 Аватар для Sasha_Smirnov
5562 / 1370 / 150
Регистрация: 08.02.2009
Сообщений: 4,109
Записей в блоге: 30
08.07.2012, 06:42
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от fd_Nikolas Посмотреть сообщение
скинула
Это всё объясняет. Был не сарказм, а буквальное прочтение.
0
53 / 0 / 1
Регистрация: 26.06.2012
Сообщений: 25
13.07.2012, 11:40  [ТС]
Как выяснилось матрица квадратичная...

Добавлено через 2 минуты
Как я понял нужно составить цикл в котором включено условие на проверку отрицательности элемента ну и далее уже вычислить среднюю сумму квадратов...
0
15155 / 6428 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
13.07.2012, 11:52
Цитата Сообщение от Sasha_Smirnov Посмотреть сообщение
Диагональ прямоугольной (не квадратной!) матрицы... что-то художественно-мозаичное!
Ну почему же, просто надо определиться - она идет от верхнего правого угла или от левого нижнего. А то будет два тоннеля
1
53 / 0 / 1
Регистрация: 26.06.2012
Сообщений: 25
13.07.2012, 12:57  [ТС]
В конце концов попробовал следующим образом,но увы не работает...

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
Public Sub Matric_1()
Dim a() As Integer
Dim m As Integer
Dim n As Integer
Dim i As Integer
Dim sum As Integer
Dim k As Integer
 
n = InputBox("Введите размерность матрицы")
    ReDim a(n, n) As Integer
  For i = 1 To n
    For j = 1 To n
        a(i, j) = InputBox("Введите элемент A(" & i & ";" & j & ")")
        If i = a(i, j) < 0 Then
    k = k + 1
    sum = sum + a(i, j) ^ 2
        End If
    Next j
        Next i
        MsgBox sum
    If k > 0 Then
        Cells(n + 5, 1) = "S=" & sum
        Cells(n + 6, 1) = "S_sredn=" & sum / k  'если это средняя сумма
    Else
    MsgBox "все +"
        End If
End Sub
0
6644 / 1511 / 169
Регистрация: 09.01.2010
Сообщений: 4,298
13.07.2012, 13:04
Цитата Сообщение от fd_Nikolas Посмотреть сообщение
If i = a(i, j) < 0 Then
что тут ожидалось ?
0
53 / 0 / 1
Регистрация: 26.06.2012
Сообщений: 25
13.07.2012, 15:06  [ТС]
Цитата Сообщение от gaw Посмотреть сообщение
что тут ожидалось ?
Точнее просто
If a(i,j) < 0 then...
Если элемент матрицы отрицателен - тогда...
0
 Аватар для Sasha_Smirnov
5562 / 1370 / 150
Регистрация: 08.02.2009
Сообщений: 4,109
Записей в блоге: 30
13.07.2012, 17:02
Цитата Сообщение от fd_Nikolas Посмотреть сообщение
вычислить среднюю сумму квадратов
Сумма одна. Она не может быть средней! Надо вычислить среднее суммы квадратов.
0
53 / 0 / 1
Регистрация: 26.06.2012
Сообщений: 25
13.07.2012, 18:17  [ТС]
Цитата Сообщение от Sasha_Smirnov Посмотреть сообщение
Сумма одна. Она не может быть средней! Надо вычислить среднее суммы квадратов.
Вот я и не пойму как это сделать...
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38226 / 21158 / 4314
Регистрация: 12.02.2012
Сообщений: 34,773
Записей в блоге: 14
13.07.2012, 18:43
Приношу извинения! Я в первом посте вычислил среднюю сумму квадратов элементов не побочной, а главной диагонали. Решил исправиться: выкладываю полное решение. Вообще меня поражает, что совершенно ничтожные задачи вызывают такое оживленное обсуждение
Миниатюры
Вычислить среднюю сумму квадратов отрицательных элементов на побочной диагонали матрицы  
Вложения
Тип файла: zip Задачи-VBA-27.zip (10.7 Кб, 6 просмотров)
2
6644 / 1511 / 169
Регистрация: 09.01.2010
Сообщений: 4,298
13.07.2012, 18:59
Лучший ответ Сообщение было отмечено как решение

Решение

Цитата Сообщение от Catstail Посмотреть сообщение
совершенно ничтожные задачи
ооо, если бы
постановка задачи чего стоит!
что то в плане вычислить объем треугольного квадрата

Добавлено через 7 минут
подозреваю, что для матрицы A[n,m] /m>n/ надо вычислить суммы элементов,
на побочных диагоналях соответствующих матриц A'[n,n] /m-n+1/
а потом уже среднее этих сумм
3
53 / 0 / 1
Регистрация: 26.06.2012
Сообщений: 25
13.07.2012, 19:26  [ТС]
Цитата Сообщение от Catstail Посмотреть сообщение
Приношу извинения! Я в первом посте вычислил среднюю сумму квадратов элементов не побочной, а главной диагонали. Решил исправиться: выкладываю полное решение. Вообще меня поражает, что совершенно ничтожные задачи вызывают такое оживленное обсуждение
О госпади...почему все так сложно?
Когда переведу на язык понятный мне и преподавателю,выложу код сюда.
За файлик спасибо.
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38226 / 21158 / 4314
Регистрация: 12.02.2012
Сообщений: 34,773
Записей в блоге: 14
13.07.2012, 19:29
Цитата Сообщение от fd_Nikolas Посмотреть сообщение
О госпади...почему все так сложно?
- что же сложного? Задача-то детская...

Цитата Сообщение от fd_Nikolas Посмотреть сообщение
язык понятный мне и преподавателю
- у преподавателя тоже проблемы с такими задачами?
1
53 / 0 / 1
Регистрация: 26.06.2012
Сообщений: 25
13.07.2012, 20:04  [ТС]
Цитата Сообщение от Catstail Посмотреть сообщение

- у преподавателя тоже проблемы с такими задачами?
Да просто мы даже не проходили половину того,что написано в коде,ну и преподаватель поймет что сам я этого написать ну никак не смог...

Добавлено через 2 минуты
В конечном итоге привел код к такому виду.Вроде работает верно,всем спасибо за помощь.
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
Public Sub matix()
 
Dim a() As Integer
Dim m As Integer
Dim n As Integer
Dim i As Integer
Dim sum As Integer
Dim k As Integer
Dim p As Integer
Dim j As Integer
 
n = InputBox("размерность матрицы")
    ReDim a(n, n) As Integer
  For i = 1 To n
    For j = 1 To n
        a(i, j) = InputBox("Введите элемент A(" & i & ";" & j & ")")
        Cells(i, j) = a(i, j)
                   If a(i, j) < 0 Then
                sum = sum + a(i, j - i + 1) ^ 2
                p = p + 1
             End If
         Next
Next
If k > 0 Then
        Cells(n + 5, 1) = "S=" & sum
        Cells(n + 6, 1) = "S_sredn=" & sum / k  
    Else
    MsgBox "все +"
        End If
MsgBox sum
MsgBox p
End Sub
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38226 / 21158 / 4314
Регистрация: 12.02.2012
Сообщений: 34,773
Записей в блоге: 14
13.07.2012, 20:25
Неверно!!!!

Visual Basic
1
2
3
4
 If a(i, j) < 0 Then             '::: Анализируешь на знак a(i,j)
   sum = sum + a(i, j - i + 1) ^ 2      '::: а суммируешь элемент с побочной диагонали
   p = p + 1                      '::: он у тебя еще не введен!!!!!!! (при твоем алгоритме ввода) 
End If
Получишь двойку...
0
6644 / 1511 / 169
Регистрация: 09.01.2010
Сообщений: 4,298
13.07.2012, 21:39
Цитата Сообщение от Catstail Посмотреть сообщение
у преподавателя тоже проблемы с такими задачами?
0
53 / 0 / 1
Регистрация: 26.06.2012
Сообщений: 25
14.07.2012, 00:48  [ТС]
Цитата Сообщение от Catstail Посмотреть сообщение
Неверно!!!!

Visual Basic
1
2
3
4
 If a(i, j) < 0 Then             '::: Анализируешь на знак a(i,j)
   sum = sum + a(i, j - i + 1) ^ 2      '::: а суммируешь элемент с побочной диагонали
   p = p + 1                      '::: он у тебя еще не введен!!!!!!! (при твоем алгоритме ввода) 
End If
Получишь двойку...
ну...анализировал
так с побочной диагонали и надо,не?
ну я переменную p я назначу 0 перед циклом
Visual Basic
1
p=0
0
14.07.2012, 04:20

Не по теме:

йа плакаль

0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38226 / 21158 / 4314
Регистрация: 12.02.2012
Сообщений: 34,773
Записей в блоге: 14
14.07.2012, 09:38
Строки с 14-й по 23-ю замени на вот это:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
' Сначала вводим всю матрицу
 
For i = 1 To n
    For j = 1 To n
        a(i, j) = InputBox("Введите элемент A(" & i & ";" & j & ")")
        Cells(i, j) = a(i, j)
    Next
Next
 
' анализируем побочную диагональ
 
For i = 1 To n
      If a(i, n - i + 1) < 0 Then
         sum = sum + a(i, n - i + 1) ^ 2
         p = p + 1
      End If
Next
1
 Аватар для Sasha_Smirnov
5562 / 1370 / 150
Регистрация: 08.02.2009
Сообщений: 4,109
Записей в блоге: 30
25.02.2016, 22:20
Цитата Сообщение от fd_Nikolas Посмотреть сообщение
Visual Basic
1
If k > 0
никогда не сработает.

Цитата Сообщение от ikki Посмотреть сообщение

Не по теме:

йа плакаль

Очень даже по теме, ikki, хоть и от призрака.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.02.2016, 22:20

Найти сумму S отрицательных элементов на побочной диагонали матрицы
Помогите решить , по возможности с блок схемой . Постановка задачи: Дана матрица А(4,4) 1) Найти сумму S отрицательных элементов на...

Вычислить сумму квадратов элементов, принадлежащих заданному промежутку (e;f) и лежащих на побочной диагонали и ниже её
Вычислить сумму квадратов элементов, принадлежащих заданному промежутку (e;f) и лежащих на побочной диагонали и ниже её Пожалуйста...

Подсчитать сумму отрицательных элементов выше побочной диагонали матрицы
Двухмерный массив задан последовательностью случайных чисел от 0 до M.Размерность массива определяет пользователь.Подсчитать сумму...

Найти сумму отрицательных элементов матрицы, стоящих на ее побочной диагонали
Дан двумерный числовой массив A(n,n).Найти сумму отрицательных элементов массива стоящих на его побочной диагонали

Найти сумму всех элементов главной диагонали матрицы, и сумму всех отрицательных элементов побочной диагонали
15. Найти сумму всех элементов главной диагонали матрицы P(10*10) и сумму всех отрицательных элементов побочной диагонали.


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

Или воспользуйтесь поиском по форуму:
39
Ответ Создать тему
Новые блоги и статьи
GitHub Copilot в JetBrains: модель по умолчанию, Fix и контроль MCP
and_y87 12.10.2026
10 октября 2026 года GitHub обновил Copilot для JetBrains: добавил настройки стартовой модели, исправления из диагностики и управление автозапуском MCP. Поддержка IDE 2025. 1 прекращена — требуется. . .
GitHub Copilot в JetBrains: модель по умолчанию, Fix и контроль MCP
and_y87 12.10.2026
10 октября 2026 года GitHub обновил Copilot для JetBrains: добавил настройки стартовой модели, исправления из диагностики и управление автозапуском MCP. Поддержка IDE 2025. 1 прекращена — требуется. . .
День 5 из 28: Codex подсказывает следующий запрос
and_y87 12.10.2026
9 октября 2026 года OpenAI запустила бету Composer predictions — подсказок следующего сообщения в текущем диалоге Codex. Это помощь с формулировкой запроса, а не автоматическое продолжение задачи. . . .
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет! За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru