Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Программирование, связанное с MS Office > Массивы!!!


Автор: Anna4ka 6.5.2010, 10:34
Помагите пожалуйста решить!!!!

1.даны два массива одинаковой размерности  a(n),b(n) Определить кол-во элементов 
1) a(i)>b(i)
2) a(i)=b(i)           п-с поле инпут бокс 
3) a(i)<b(i)

2. подсчитать наибольшее число одинаковых идущих подряд элементов в масссиве a(n), n- целое случайное число (10,30) 

3. Написать программу, которая получает матрицу размерности n (получая поле input box ) ,где элементы выше поб диагонали=1, на поб диагонали =0, ниже поб поб диагонали =-1

Автор: dorogoyIV 8.5.2010, 12:41
что то никто не отвечает  smile 

вот тебе решение на первое задание:
Код

Sub Arrs()
 Dim n As Integer
 n = InputBox("длина масива")
 Dim a() As Integer, b() As Integer
 ReDim a(n)
 ReDim b(n)
 
 For i = 0 To n - 1
  a(i) = Rnd * 20 + 10 'целое число от 10 до 30
  b(i) = Rnd * 20 + 10 'целое число от 10 до 30
  Cells(i + 1, 1) = a(i)
  Cells(i + 1, 2) = b(i)
 Next i
 
 compareArrs a, b
End Sub

Private Function compareArrs(ByRef a() As Integer, ByRef b() As Integer)
 Dim first As Integer, second As Integer, third As Integer
 
 For i = 0 To UBound(a) - 1
  If (a(i) > b(i)) Then
   first = first + 1
  End If
  If (a(i) = b(i)) Then
   second = second + 1
  End If
  If (a(i) < b(i)) Then
   third = third + 1
  End If
 Next i
 MsgBox "a(i) > b(i) " & first & Chr(10) & _
              "a(i) = b(i) " & second & Chr(10) & _
              "a(i) < b(i) " & third
End Function


во втором я бы отсортировал массив, а потом считал

третье вообще не понял  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)