Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 |

 

  Вопрос: Создать вектор, содержащий суммы элементов строк м Добавлено: 28.05.09 21:57  

Автор вопроса:  SoAndSo
Дана матрица A(5,5). Получить из нее вектор, содержащий суммы элементов строк. Отсортировать его в порядке убывания элементов. Создать подпрограмму для вычисления суммы элементов строк.

Очень хочу помочь подруге решить, но ничего не получается. Обе сидим и думаем. Пока надумали на это. Но программа неправильно выдает s1 s2 и s3. Пока что мы пытаемся найти сумму. Помогите, пожалуйста, подскажите где ошибки

Dim A(2, 2) As Variant
Private Sub Form_Load()
Dim A(2, 2) As Integer, S1 As Integer, S2 As Integer, S3 As Integer
Show
For i = 0 To 2
For J = 0 To 2
A(i, J) = Int(3 * Rnd + 1)
Picture1.Print A(i, J);
Next J
Picture1.Print
Next i

si = SUMMA(A, 2, 2)
S2 = SUMMA(A, 2, 2)
S3 = SUMMA(A, 2, 2)
Text1 = S1
Text2 = S2
Text3 = S3
End Sub

Function SUMMA(A, m, n)
SUMMA = 0
For J = 0 To n
SUMMA = SUMMA + A(i, J)
Next J

End Function

Ответить

  Ответы Всего ответов: 6  

Номер ответа: 1
Автор ответа:
 SoAndSo



Вопросов: 1
Ответов: 4
 Профиль | | #1 Добавлено: 28.05.09 21:59
Дана матрица A(2,2)*

Ответить

Номер ответа: 2
Автор ответа:
 AWP



ICQ: 345685652 

Вопросов: 96
Ответов: 1212
 Web-сайт: xawp.narod.ru
 Профиль | | #2
Добавлено: 28.05.09 22:34
объясните:
"Получить из нее вектор,содержащий суммы элементов строк" - Что это значит.
"Отсортировать его в порядке убывания элементов." - Вектор - это существительное в единственно числе, как его упорядочить можно?


Но программа неправильно выдает s1 s2 и s3.
Вот так:
  1.  
  2. Function SUMMA(A, m, n)
  3. SUMMA = 0
  4. For i = 0 To m
  5. SUMMA = SUMMA + A(i, n)
  6. Next i
  7. End Function


n - номер строки
i - Элемент в строке

Ответить

Номер ответа: 3
Автор ответа:
 SoAndSo



Вопросов: 1
Ответов: 4
 Профиль | | #3 Добавлено: 28.05.09 22:47
С программой мы уже разобрались, а вектор имеется ввиду одномерный массив.
Теперь остался только массив и сортировка. Вот программа:

  1.   Dim i%, j%
  2.   Dim A(2, 2) As Integer, S1 As Integer, S2 As Integer, S3 As Integer
  3.   Show '?
  4.   For i = 0 To 2
  5.     For j = 0 To 2
  6.       A(i, j) = Int(3 * Rnd + 1)
  7.       Picture1.Print A(i, j);
  8.     Next j
  9.     Picture1.Print
  10.   Next i
  11.  
  12.   S1 = SUMMA(A, 0) ', 2)
  13.   S2 = SUMMA(A, 1) ', 2)
  14.   S3 = SUMMA(A, 2) ', 2)
  15.   Text1 = S1
  16.   Text2 = S2
  17.   Text3 = S3
  18. End Sub
  19.  
  20. Function SUMMA(A, m) ', n) ?
  21.   Dim j%
  22.   'SUMMA = 0 '???
  23.   For j = 0 To 2 'n ?
  24.     SUMMA = SUMMA + A(m, j)
  25.   Next j
  26. End Function

Ответить

Номер ответа: 4
Автор ответа:
 SoAndSo



Вопросов: 1
Ответов: 4
 Профиль | | #4 Добавлено: 28.05.09 22:53
  1. Option Explicit
  2.  
  3. Private Sub Form_Load()
  4.   dim i%, j%
  5.   Dim A(2, 2) As Integer, S1 As Integer, S2 As Integer, S3 As Integer
  6.   Show '?
  7.   For i = 0 To 2
  8.     For J = 0 To 2
  9.       A(i, J) = Int(3 * Rnd + 1)
  10.       Picture1.Print A(i, J);
  11.     Next J
  12.     Picture1.Print
  13.   Next i
  14.  
  15.   S1 = SUMMA(A, 0) ', 2)
  16.   S2 = SUMMA(A, 1) ', 2)
  17.   S3 = SUMMA(A, 2) ', 2)
  18.   Text1 = S1
  19.   Text2 = S2
  20.   Text3 = S3
  21. End Sub
  22.  
  23. Function SUMMA(A, m) ', n) ?
  24.   dim j%
  25.   'SUMMA = 0 '???
  26.   For J = 0 To 2 'n ?
  27.     SUMMA = SUMMA + A(m, J)
  28.   Next J
  29. End Function

Ответить

Номер ответа: 5
Автор ответа:
 AWP



ICQ: 345685652 

Вопросов: 96
Ответов: 1212
 Web-сайт: xawp.narod.ru
 Профиль | | #5
Добавлено: 28.05.09 23:05
Создать подпрограмму для вычисления суммы элементов строк.

  1.  
  2. Function SUMMA(A, m) ', n) ?
  3. dim j%
  4.   'SUMMA = 0 '???
  5.    For J = 0 To 2 'n ?
  6.      SUMMA = SUMMA + A(m, J)
  7.    Next J
  8. End Function


Вы сумму элементов столбцов, а не строк вычисляете!

  1. а вектор имеется ввиду одномерный массив.

Вектор - это не массив, а два числа: X, Y.

Отсортировать его в порядке убывания элементов

По вертикали или горизонтали?

Ответить

Номер ответа: 6
Автор ответа:
 SoAndSo



Вопросов: 1
Ответов: 4
 Профиль | | #6 Добавлено: 28.05.09 23:30
У нас уже все получилось :)
  1.  
  2. Option Explicit
  3.  
  4. Private Sub Form_Load()
  5.   Dim i%, j%, m%, z%, Max%
  6.   Dim A(5, 5) As Integer, B(5) As Integer, S1 As Integer, S2 As Integer, S3 As Integer, S4 As Integer, S5 As Integer
  7.   Show '?
  8.   For i = 0 To 4
  9.     For j = 0 To 4
  10.       A(i, j) = Int(4 * Rnd + 1)
  11.       Picture1.Print A(i, j);
  12.     Next j
  13.     Picture1.Print
  14.   Next i
  15.  
  16.   S1 = SUMMA(A, 0) ', 2)
  17.   S2 = SUMMA(A, 1) ', 2)
  18.   S3 = SUMMA(A, 2) ', 2)
  19.   S4 = SUMMA(A, 3) ', 2)
  20.   S5 = SUMMA(A, 4) ', 2)
  21.   Text1 = S1
  22.   Text2 = S2
  23.   Text3 = S3
  24.   Text4 = S4
  25.   Text5 = S5
  26.   
  27.   
  28. For j = 0 To 4
  29. 'B(j) = 0 'присвоение начального значения
  30. 'элемента вектора For / = / То 5
  31. B(j) = B(j) + SUMMA(A, j) 'вычисление суммы в цикле Next / Next J
  32.   Picture2.Print B(j);
  33.   Next j
  34.   
  35.   
  36. For i = 0 To 4 'начало цикла
  37. 'нахождение максимума
  38. Max = B(i)
  39. For j = i To 4
  40. If B(j) > Max Then
  41. Max = B(j) ' определение максимума
  42. z = j 'присвоение переменной значения
  43. End If
  44. Next j
  45. 'сортировка
  46. B(z) = B(i)
  47. B(i) = Max
  48. Picture3.Print Max
  49. Next i 'конец цикла
  50. End Sub
  51.  
  52. Function SUMMA(A, m) ', n) ?
  53.   Dim j%
  54.   'SUMMA = 0 '???
  55.   For j = 0 To 4 'n ?
  56.     SUMMA = SUMMA + A(m, j)
  57.   Next j
  58. End Function
  59.  

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам