Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [VB6] Решение массивов


Автор: tesla_777 12.11.2007, 03:25
1) В одномерном массиве B, состоящего из N элементов, найти среднее арифметическое четных чисел (ввод чисел с клавиатуры).
2) В двумерном массиве Z (N - строк, M – столбцов)  найти максимальный элемент в каждой строке и минимальный среди этих элементов (ввод чисел с клавиатуры). 

Автор: kapbepucm 12.11.2007, 13:48
Код
Public Sub Zadanije1()
On Error GoTo ErrLabel
  Dim MaxEl As Long, I As Long, CH As Long, SumOfB As Long
  Dim B() As Long
  CH = 0
  SumOfB = 0
Opros:
  MaxEl = CLng(InputBox("Введи количество элементов", "Вопрос", "2"))
If MaxEl < 1 Then GoTo Opros
  ReDim B(1 To MaxEl) As Long
  For I = 1 To MaxEl
    B(I) = CLng(InputBox("Введи элемент номер " & CStr(I), "Ещё вопрос", "1"))
    If Not CBool(B(I) Mod 2) Then
      SumOfB = SumOfB + B(I)
      CH = CH + 1
    End If
  Next I
  If CH > 0 Then MsgBox "Среднее арифметическое чётных чисел " & CStr(SumOfB / CH) Else MsgBox "Нет среднего арифметического чётных чисел"
Exit Sub
ErrLabel:
  Resume
End Sub
'==============================================
Public Sub Zadanije2()
On Error GoTo ErrLabel2
  Dim X As Long, Y As Long
  Dim MaxElSt As Long, MinEl As Long
  Dim Z() As Long
  Dim M As Long, N As Long
Opros1:
    M = CLng(InputBox("Введи число столбцов", "Вопрос", "2"))
    N = CLng(InputBox("Введи число строк", "Ещё вопрос", "3"))
If M < 1 Or N < 1 Then GoTo Opros1
  ReDim Z(1 To N, 1 To M) As Long
  For X = 1 To N
    For Y = 1 To M
      Z(X, Y) = CLng(InputBox("Введи элемент строки номер " & CStr(X) & " и столбца номер " & CStr(Y), "Очередной вопрос", "1"))
    Next Y
  Next X
On Error GoTo 0
  MaxElSt = Z(1, 1): MinEl = Z(1, 1)
  For X = 1 To N
    For Y = 1 To M
      If MinEl > Z(X, Y) Then MinEl = Z(X, Y)
      If MaxElSt < Z(X, Y) Then MaxElSt = Z(X, Y)
    Next Y
    MsgBox "Максимальный элемент строки номер " & CStr(X) & "- это " & CStr(MaxElSt)
    If X < N Then MaxElSt = Z(X + 1, 1)
  Next X
  MsgBox "Минимальный среди этих элементов- это " & CStr(MinEl)
Exit Sub
ErrLabel2:
  Resume
End Sub

Автор: tesla_777 12.11.2007, 17:40
kapbepucm 
Огромное тебе спасибо!! smile 

Автор: kapbepucm 13.11.2007, 09:27
Обращайтесь smile

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