Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.06.2012, 12:07   #1
xrenomx
Пользователь
 
Аватар для xrenomx
 
Регистрация: 05.02.2011
Сообщений: 63
По умолчанию Сумма четных элементов матрицы главной диагонали

Всем добрый день.Пытаюсь запустить код на подсчет суммы четных элементов матрицы(A(M,M)) главной диагонали и количество этих элементов.
Элементы и размерность матрицы заполняется вручную.

Public Sub RMN()
Dim K() As Single
n = InputBox("Размерность")
ReDim K(1 To n, 1 To n)
End Sub

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

Прошу помощи.
xrenomx вне форума Ответить с цитированием
Старый 12.06.2012, 23:19   #2
ShAM66
Форумчанин
 
Регистрация: 24.02.2012
Сообщений: 160
По умолчанию

Цитата:
После того как задали размерность,необходимо заполнить элементы массива какими-то значениями,вот тут то и проблема.
Если все равно какими данными заполнять, то можно использовать функцию RND() и заполнить случайными числами.
Например, целыми от 1 до 100:
Код:
For i = 1 To n: For j = 1 To n
    K(i, j) = Int(100 * Rnd() + 1)
Next j: Next i
ShAM66 вне форума Ответить с цитированием
Старый 18.06.2012, 11:45   #3
Ирина Сана
Новичок
Джуниор
 
Аватар для Ирина Сана
 
Регистрация: 18.06.2012
Сообщений: 1
По умолчанию

Dim matr() As Single 'объявление динамического массива
Dim i, j, KolStr, KolSrolb As Integer
Dim maxElem, proizvElem As Single
KolStr = Val(InputBox("Введите количество строк в матрице", "Ввод данных"))
KolStolb = Val(InputBox("Введите количество столбцов в матрице", "Ввод данных"))
ReDim mate(1 To KolStr, 1 To KolStold) 'изменение размера массива
Randomize 'генератор случайных чисел
'значение значений элементов массива с помощью генератора случайных чисел и их вывод на лист
For i = 1 To KolStr
For j = 1 To KolStolb
matr(i, j) = Round((-1) ^ (i + j) * Rnd * 5, 2)
Cells(i + 1, j) = matr(i, j)
Next j
Next i


maxI = 1
maxJ = 1
maxElem = matr(1, 1)
For i = 1 To KolStr
For j = 1 To KolStolb

'поиск минимума по столбцу
If Abs(mart(i, j)) > maxElem Then maxElem = matr(i, j): maxI = i: maxJ = j
Next j
Next i

Cells(4, KolStolb + 1) = "|Номер строки|"
Cells(6, KolStolb + 1) = "Наибольший по модулю |x(i,j)|"
Cells(8, KolSrolb) = Round(prinzvElem, 4)
End Sub
For i = 2 To 12
For j = 1 To 12
Cells(i, j).ClearContents
Next j
Next i

что в этой программе не правильно? ошибку выводит в 4 строчке
Ирина Сана вне форума Ответить с цитированием
Старый 18.06.2012, 12:47   #4
ShAM66
Форумчанин
 
Регистрация: 24.02.2012
Сообщений: 160
По умолчанию

Цитата:
что в этой программе не правильно?
Не правильно, что вопрос, совсем к данной теме не относящийся, в чужой теме задаете.
ShAM66 вне форума Ответить с цитированием
Старый 18.06.2012, 12:49   #5
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Я догадываюсь, что "mate", "matr" и "mart" - это у Вас одно и то же? Так же как "KolStolb" и "KolStold"?
Пожалуйста, по-внимательнее.
А чтобы исключить предполагаемую мной ошибку, вместо
Код:
Dim matr() As Single
используйте просто
Код:
Dim matr()
Кстати, записанный Вами оператор определения типов
Код:
Dim i, j, KolStr, KolSrolb As Integer
присвоит тип Integer только переменной KolSrolb. Все остальные будут As Variant. Нужно описывать каждую переменную отдельно.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 18.06.2012, 15:08   #6
ShAM66
Форумчанин
 
Регистрация: 24.02.2012
Сообщений: 160
По умолчанию

Тогда еще, зачем End Sub посреди кода?
ShAM66 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сумма четных элементов матрицы главной диагонали xrenomx Помощь студентам 4 12.06.2012 18:42
сумма элементов квадратной матрицы расположенных выше главной диагонали (Pascal) Vogelfrei Помощь студентам 4 15.12.2011 20:38
Матрица. Сумма элементов главной диагонали RECREATOR Помощь студентам 13 11.05.2011 22:12
Сумма четных элементов матрицы. Произведение элементов 3-го столбца. Минимальный элемент матрицы. renovare Помощь студентам 2 03.07.2009 21:13
Найти отношения суммы элементов главной диагонали и суммы элементов побочной диагонали квадратной матрицы Elmander Помощь студентам 2 21.06.2007 07:15