Автор Тема: Двумерный массив VBA  (Прочитано 7932 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Nataly1992

  • Пользователь
  • **
  • Сообщений: 21
    • Просмотр профиля
Двумерный массив VBA
« : 10 Января 2010, 02:03:27 »
Здравствуйте нужна ваша помощь
Задача
Дан двухмерные массив Х размеров mxn(m строчек, n столбцов)
Вычислить среднее арифметическое елементов каждого столбца, которые больше за ноль

Буду благодарна за помощь

Оффлайн Nataly1992

  • Пользователь
  • **
  • Сообщений: 21
    • Просмотр профиля
Re: Двумерный массив VBA
« Ответ #1 : 10 Января 2010, 02:03:58 »
 На паре была вот такая вот задача:
Дан двухмерные массив Х размеров mxn(m строчек, n столбцов)
Найти суму квадратов элементов, которые находятся на диагоналях(m=n)

Вот так вот програмировали
n = InputBox("VVedite n")
m = InputBox("Vvedite m")
ReDim a(n, m)
For i = 1 To n
For j = 1 To m
a(i, j) = InputBox("Vvedite A(" & i & "," & j & ")")
Next j
Next i
For i = 1 To n
For j = 1 To m
Cells(2 + i, 2 + j).Value = a(i, j)
Next j
Next i
For i = 1 To n
For j = 1 To m
If i = j Then
S = S + a(i, j) ^ 2
End If
Next j
Next i
Cells(4 + n, 4 + m).Value = S


Что в нем можно заменить, чтобы вышла задача из первого сообщения?

Оффлайн InfStudent

  • Модератор
  • *****
  • Сообщений: 1356
  • Куба любовь моя))
    • Просмотр профиля
Re: Двумерный массив VBA
« Ответ #2 : 10 Января 2010, 12:57:32 »
А что значит больше за 0?
Прежде чем задавать вопрос в раздел по программированию повтори теорию и посмотри FAQ! Просьба не кидайте задания в ЛС и не надо мне писать: "посмотри мою задачу!!!" Я смотрю все задачи в разделе когда на форуме
Учтите что подобные ЛС будут оставлены без внимания!
УКАЗЫВАЙТЕ ЯЗЫК ПРОГРАММИРОВАНИЯ НА КОТОРОМ ДОЛЖНА БЫТЬ РЕШЕНА ЗАДАЧА
Вам в помощь:
∫ ¼ ½ ¾ ⅓ ⅔ ⅛ ⅜ ⅝ ⅞ ² ³ ± ~ ‰ ∞ √ ∑ ∆ ℮ ∩ ≡ ≤ ≥ ≈ ∩

Оффлайн Nataly1992

  • Пользователь
  • **
  • Сообщений: 21
    • Просмотр профиля
Re: Двумерный массив VBA
« Ответ #3 : 10 Января 2010, 15:09:44 »
Это Положительные,x>0

Оффлайн Данила

  • Глобальный модератор
  • *****
  • Сообщений: 1657
  • Математик-экстрасенс
    • Просмотр профиля
Re: Двумерный массив VBA
« Ответ #4 : 10 Января 2010, 16:39:21 »
делаете цикл по столбцам,в нем цикл по строкам и проверяете на >0
синтаксиса не знаю,но будет как то так

for j=1 to m //тут должен начаться новый цикл,хз как на вба это обозначить
for i=1 to n
if a[ i,j ]>0 then sum=sum+a[ i,j ]
Просьба не кидать мне в ЛС Ваши задания...создаем тему,пишем свое задание,наработки\идеи...полностью и нахаляву ничего не решаю

Вам в помощь:
∫ ¼ ½ ¾ ⅓ ⅔ ⅛ ⅜ ⅝ ⅞ ² ³ ± ~ ‰ ∞ √ ∑ ∆ ℮ ∩ ≡ ≤ ≥ ≈ ∩

Оффлайн bro

  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
Re: Двумерный массив VBA
« Ответ #5 : 06 Марта 2014, 20:23:34 »
Думаю что вот так

Sub matrix1()
n = InputBox("VVedite n")
m = InputBox("Vvedite m")
ReDim a(n, m)
For i = 1 To n
For j = 1 To m
a(i, j) = InputBox("Vvedite A(" & i & "," & j & ")")
Next j
Next i
For i = 1 To n
For j = 1 To m
Cells(2 + i, 2 + j).Value = a(i, j)
Next j
Next i
For i = 1 To n
For j = 1 To m
If i = j Then
s = s + a(i, j) ^ 2
End If
Next j
Next i
Cells(4 + n, 4 + m).Value = s
End Sub

Оффлайн bro

  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
Re: Двумерный массив VBA
« Ответ #6 : 06 Марта 2014, 20:26:06 »
Игнорировать предыдущий ответ, запарился.

Вот так

Sub matix2()
Dim n, m, sum As Integer
n = InputBox("VVedite n")
m = InputBox("Vvedite m")
ReDim a(n, m)
For i = 1 To n
For j = 1 To m
x = x + 1
a(i, j) = x
Next j
Next i
For i = 1 To n
For j = 1 To m
Cells(12 + i, 2 + j).Value = a(i, j)
Cells(12 + i, 2 + j).Interior.ColorIndex = 8
Next j
Next i
For j = 1 To m
For i = 1 To n
sum = sum + CInt(a(i, j))
Next i
Cells(15 + n, 2 + j).Value = CSng(sum / n)
sum = 0
Next j
End Sub

Оффлайн Selyd

  • Старожил
  • ****
  • Сообщений: 408
    • Просмотр профиля
Re: Двумерный массив VBA
« Ответ #7 : 07 Марта 2014, 00:11:32 »
Дан двухмерные массив Х размеров mxn(m строчек, n столбцов)
Вычислить среднее арифметическое елементов каждого столбца, которые больше за ноль
                пусть числа идут здесь в конце текста, тогда читаем
read m,n   
dim A(m+2,n)  m+2 строчек, n столбцов В строчке m+1 будет количество >0, а в строчке m+2 будут суммы
For i = 1 To m
For j = 1 To n
read A(i, j)   читаем построчно числа
Next j
Next i
              большие 0 обрабатываем, другие пропускаем
For j = 1 To m
if  A(j, i)<=0 then A(i, j) goto L  по столбцам
A(m+1, i)= A(m+1, i) + 1     штук, которые больше за ноль
A(m+2, i)= A(m+2, i) + A(j, i) их сумма
L:Next j
For i = 1 To n
A(m+2, i)= A(m+2, i)/A(m+1, i)  здесь стали средние
Next i
For i = 1 To n
print A(m+2, i)  печать средних
Next i
Если суммы надо сохранить, выделяем строку A(m+3,n) для средних

 

Помогите решить задачу на С++ с матрицей. Сформировать массив В(7)

Автор muse

Ответов: 8
Просмотров: 1634
Последний ответ 08 Марта 2011, 17:50:09
от muse
Описать и вывести массив с переменой, Pascal

Автор marinashizya

Ответов: 7
Просмотров: 1437
Последний ответ 07 Декабря 2011, 23:32:42
от wital1984
Помогите ришить задачу, задать массив ...

Автор Yomka

Ответов: 7
Просмотров: 1473
Последний ответ 27 Февраля 2012, 19:09:44
от sp
Delphi, помогите создать массив из 20 элементов

Автор WTF

Ответов: 5
Просмотров: 1933
Последний ответ 20 Апреля 2012, 23:58:34
от WTF
Помогите с массивами. Создать массив в a1,a2..a10

Автор poiuyt

Ответов: 4
Просмотров: 1275
Последний ответ 31 Марта 2010, 22:42:04
от poiuyt