![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 21.01.2011
Сообщений: 10
|
![]()
Двумерные массивы.
Даны две матрицы X(6,4); Y(7,3). Найти среднее арифметическое всех элементов в каждой матрице. Dim X(6, 4) As Integer Dim Y(7, 3) As Integer Dim sred1 As Integer Dim sum1 As Integer Dim sred2 As Integer Dim sum2 As Integer 'заполнение массива' For i1 = 1 To 7 For i2 = 1 To 5 X(i1 - 1, i2 - 1) = 3 Next Next For i1 = 1 To 8 For i2 = 1 To 4 Y(i1 - 1, i2 - 1) = 2 Next Next 'конец заполнения массивов' sum1 = 0 For i1 = 1 To 7 For i2 = 1 To 5 sum1 = sum1 + X(i1 - 1, i2 - 1) Next Next sred1 = sum1 / (7 * 5) sum2 = 0 For i1 = 1 To 8 For i2 = 1 To 4 sum2 = sum2 + Y(i1 - 1, i2 - 1) Next Next sred2 = sum2 / (8 * 4) 2)Одномерные массивы. Подсчитать число точек, находящихся внутри круга радиусом R, с центром в точке с координатами (1,1). Координаты заданы массивами X(N), Y(N). Dim X(3) As Integer Dim Y(3) As Integer Dim radius As Integer Dim dlina As Integer Dim counter As Integer X(0) = 1 X(1) = 1 X(2) = 1 Y(0) = 0 Y(1) = 5 Y(2) = -1 radius = 3 counter = 0 For i = 0 To 3 If Dlin(X(i), Y(i), 1, 1) < radius Then counter = counter + 1 End If Next и для расчета длины Function Dlin(ByVal nItem1 As Integer, ByVal nItem2 As Integer, ByVal nItem3 As Integer, ByVal nItem4 As Integer) Dlin = Math.Sqrt((nItem1 - nItem2) * (nItem1 - nItem2) + (nItem3 - nItem4) * (nItem3 - nItem4)) End Function |
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 21.01.2011
Сообщений: 10
|
![]()
Программы не работают в чём то ошибки
|
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 31.12.2010
Сообщений: 2,133
|
![]()
В принципе, работают.
Хорошо бы объявить переменные i, i1, i2 как Long или Integer. А средние, суммы и массивы лучше объявить как Double или Single, они ведь не обязаны быть целыми. Вместо Math.Sqrt - Math.Sqr или просто Sqr. Во второй программе последним элементам массивов не присвоено значение, поэтому получается лишняя точка (0,0). Если программы составляются в Excel VBA, то среднее можно определить без циклов: sred1=worksheetfunction.Average(X)
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Последний раз редактировалось Казанский; 10.06.2011 в 10:32. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Массивы (одномерный и двумерный) | Slezinka | Помощь студентам | 7 | 26.05.2011 11:07 |
ДВУМЕРНЫЙ И ОДНОМЕРНЫЙ МАССИВЫ | ALYSA | Помощь студентам | 6 | 19.04.2010 21:52 |
Одномерный и двумерный массивы с функцией. | Перец | Помощь студентам | 1 | 01.04.2009 15:25 |