Автор Тема: Задача на двумерный массив!Помогите пожалуйста!  (Прочитано 4496 раз)

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

Оффлайн katie

  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Мне дана такая задача.
Для первого столбца и первой строки вычислить произведение положительных элементов.

Вот такую задачу мы делали на паре:
Дан двумерный массив Х размером mxn элементов(m строчек, n столбцов).Найти суму квадратов элементов, которые находятся на диагоналях(m=n)
Вот програма:
Private Sub CommandButton1_Click()
n = InputBox("VVedite kolichestvo elementov n")
m = InputBox("Vvedite kolichestvo elementov 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

Помогите мне сделать мою задачу!Буду очень благодарна!

Оффлайн ki

  • Ветеран
  • *****
  • Сообщений: 668
    • Просмотр профиля
Private Sub CommandButton1_Click()
n = InputBox("VVedite kolichestvo elementov n")
m = InputBox("Vvedite kolichestvo elementov 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


Блок выделеный красным можно заменить на:

P=1               
For j = 1 To m
If a(1, j)>0 Then P = P*a(1, j)
End If
Next j
For i = 1 To n
If a(i, 1)>0 Then P = P*a(i, 1)
End If
Next i
Cells(4 + n, 4 + m).Value = P

Вроде так...


Оффлайн katie

  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Спасибо)Сейчас попробую)Может получится=)