0 / 0 / 0
Регистрация: 29.06.2014
Сообщений: 5
1

Найти произведение всех отрицательных чисел над побочной диагональю

29.06.2014, 21:01. Показов 2215. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите пожалуйста решить задачу: Значения переменных матрицы задаются случайными числами. Найти произведение всех отрицательных чисел над побочной диагональю. Много книг перерыла, никак не могу сделать. Помогите, пожалуйста!
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.06.2014, 21:01
Ответы с готовыми решениями:

Подсчитать произведение отрицательных элементов матрицы, расположенных над побочной диагональю
доброго времени суток) прошу помощь в написании кода к этому заданию: "Дана квадратная...

Найти произведение элементов, расположенных над побочной диагональю квадратной матрицы
Найти произведение элементов, расположенных над побочной диагональю квадратной матрицы. Заранее...

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

Найти максимальный элемент среди отрицательных элементов матрицы, расположенных над побочной диагональю
Помогите пожалуйста составить программу на C++: Дана матрица A(4,4) Найти максимальный элемент...

11
5562 / 1368 / 150
Регистрация: 08.02.2009
Сообщений: 4,109
Записей в блоге: 30
29.06.2014, 21:28 2
А список книг скиньте. Тоже пороюсь!
1
0 / 0 / 0
Регистрация: 29.06.2014
Сообщений: 5
29.06.2014, 22:34  [ТС] 3
на этом сайте есть форум по VBA. почти всю литературу просмотрела. примеров решения моей задачи нет.

Добавлено через 30 минут
Малышев С.А. Самоучитель VBA. Как это делается в
0
5562 / 1368 / 150
Регистрация: 08.02.2009
Сообщений: 4,109
Записей в блоге: 30
30.06.2014, 03:43 4
К сожалению, Excel у меня не установлен. Сейчас тоже пороюсь на форуме.
Цитата Сообщение от vint Посмотреть сообщение
примеров решения моей задачи нет
У писателя тоже не было примеров «Войны и мира»! Важно владеть языком, и всё.
Добавлено через 1 час 14 минут
Цитата Сообщение от vint Посмотреть сообщение
Значения переменных матрицы задаются случайными числами.
Вот как это можно сделать в таблице Excel с помощью функции Rnd (8-я и 9-я строки кода): Поменять местами мин. и макс. элементы в каждом столбце таблицы.

Без привязки к таблице Excel, типа такого: Составьте программу на языке VBA, которая вычисляет сумму L положительных элементов квадратной матрицы или Сформировать квадратную матрицу порядка n по заданному образцу — сеччас выложу.

Добавлено через 2 часа 9 минут
За два часа наворотил от души, но основа вот:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
product = 1
 
    For i = 1 To N - 1
            For j = 1 To N - i
            'по столбцам идём только ДО побочной диагонали
                If Q(i, j) < 0 Then
                    present = True
                    primer = primer & "(" & Q(i, j) & ") · "
                    product = product * Q(i, j) 'умножаем
                End If
            Next
    Next
Проект написал в документе Word; если хотите испытать — выложу (но радостного там мало, одни извращения!):
Миниатюры
Найти произведение всех отрицательных чисел над побочной диагональю  
2
0 / 0 / 0
Регистрация: 29.06.2014
Сообщений: 5
30.06.2014, 11:34  [ТС] 5
Спасибо Вам огромное!!!
0
5562 / 1368 / 150
Регистрация: 08.02.2009
Сообщений: 4,109
Записей в блоге: 30
01.07.2014, 18:39 6
Ну вот и вариант для таблицы Excel!
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
Sub SumNegAbove()
Dim Q   'переменная для матрицы (тип  не менять! - он Variant)
Dim i As Long, j As Long, N As Long, present As Boolean, primer As String, product
 
Cells.Clear                         'очистка таблицы Excel
[a1:f6] = "=round(RAND()*10,0)-5"   'генерация матрицы в ячейках [a1:f6]
 
Q = [a1:f6]                         'создали массив из матрицы [a1:f6]
        
N = UBound(Q, 2)                    'размер матрицы (число столбцов)
 
product = 1
 
    For i = 1 To N - 1
    'по строкам идём до предпоследней
            For j = 1 To N - i
            'по столбцам идём только до побочной диагонали
                If Q(i, j) < 0 Then
                    present = True
                    primer = primer & "(" & Q(i, j) & ") · "
                    product = product * Q(i, j)     'умножаем
                    Cells(i, j).Font.Color = vbRed  'красим
                End If
            Next
    Next
product = Format(product, "#.###")  'разбивка длинных чисел (типа 1 000 000)
MsgBox "Сумма отрицательных чисел над побочной диагональю " & _
        vbCr & vbCr & "равна " & primer & "1 = " & product & "."
End Sub
(При первом запуске на пару секунд подвисает; потом быстро.)
Вложения
Тип файла: xls MAT.xls (31.0 Кб, 10 просмотров)
1
5562 / 1368 / 150
Регистрация: 08.02.2009
Сообщений: 4,109
Записей в блоге: 30
01.07.2014, 23:47 7
Лучший ответ Сообщение было отмечено vint как решение

Решение

И новая картинка. Коду в вышевыложенной книге Excel она немного не соответствует (где Format):
Миниатюры
Найти произведение всех отрицательных чисел над побочной диагональю  
1
0 / 0 / 0
Регистрация: 29.06.2014
Сообщений: 5
02.07.2014, 21:44  [ТС] 8
Спасибо ещё раз Вам огромнейшее! Завтра защита курсовика)
0
ikki
02.07.2014, 22:27
  #9

Не по теме:

Цитата Сообщение от vint Посмотреть сообщение
защита курсовика
нет.
это слишком мелко.
тут Саша Смирнов не меньше чем на диплом накидал.
а то и на кандидатскую :D

0
5562 / 1368 / 150
Регистрация: 08.02.2009
Сообщений: 4,109
Записей в блоге: 30
02.07.2014, 23:19 10

Не по теме:

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


По теме!!! Что немцу курсовик, то русскому диплом. Или наоборот (смотря какой век на дворе).

Наука наша, очевидно, на месте не стоит

Цитата Сообщение от vint Посмотреть сообщение
курсовика)
Это курс чего?

Уберите из кода строчку
Visual Basic
1
product = Format(product, "#.###")  'разбивка длинных чисел (типа 1 000 000)
А также переменную
Visual Basic
1
present As Boolean,
ибо она используется не здесь.

Добавлено через 6 минут
А там, в ворде:
Вложения
Тип файла: doc ЧтоТам.doc (37.5 Кб, 8 просмотров)
0
0 / 0 / 0
Регистрация: 29.06.2014
Сообщений: 5
03.07.2014, 05:13  [ТС] 11
Доброго времени суток! Благодарю за помощь!
Пыталась сама сделать. Но не выходит. Вот задание: В матрице 7х7 найти произведение отрицательных элементов над побочной диагональю. На языке VBA, в Excelе.
Спасибо.
0
5562 / 1368 / 150
Регистрация: 08.02.2009
Сообщений: 4,109
Записей в блоге: 30
03.07.2014, 22:33 12
Сравните с заданием в начале темы!

Вы просто сузили задачу; она уже решена для матрицы N×N.

Добавлено через 2 минуты
Цитата Сообщение от vint Посмотреть сообщение
Пыталась сама сделать.
Просто строчку
Visual Basic
1
Q = [a1:f6]
в решении (за которое уже и спасибо сказано) замените на
Visual Basic
1
Q = [a1:g7]
1
03.07.2014, 22:33
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.07.2014, 22:33
Помогаю со студенческими работами здесь

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

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

Найти произведение отрицательных элементов над главной диагональю матрицы
Массив B задан по формуле B=sin(i+j+0,5).Найти произведение отрицательных элементов над главной...

Процедура и функция. Даны четыре матрицы. Найти произведение минимальных элементов над побочной диагональю
Помогите,пожалуйста решить задачу. Даны четыре матрицы A(5,5), B(5,5), C(5,5), D(5,5). найти...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru