Двумерный массив, сумма элементов строк и вывод в listbox - VB

Узнай цену своей работы

Формулировка задачи:

Еще раз здравствуйте, снова бестолковый я с простым, видимо, вопросом. Есть двумерный массив N(k, l). Задание - найти строки с максимальной и минимальной суммой элементов и вывести эти строки, плюс суммы. И уже на стадии нахождения суммы у меня происходит какая-то ерунда. Попытался сейчас даже просто вывести суммы строк через подобный код:
Листинг программы
  1. Dim i, j As Integer
  2. For i = 0 To k
  3. S(i) = 0
  4. For j = 0 To l
  5. S(i) = S(i) + n(i, j)
  6. Next
  7. Next
  8. Dim zz As String = " "
  9. Dim z As Integer
  10. Dim x As Integer
  11. z = 0
  12. For x = 0 To l
  13. S(z) = y(x)
  14. z = z + 1
  15. Next
  16. zz = zz + Format(y(x) + "00") + Space(2)
  17. ListBox2.Items.Add(zz)
но он мне выдает ошибку размерности в строке форматирования zz, хотя в прошлом задании все выводилось на ура. А вот код поиска минимума, который работает, но выдает вообще непонятно что:
Листинг программы
  1. Dim i, j As Integer
  2. Dim ss As String = " "
  3. Dim zz As String = " "
  4. For i = 1 To k
  5. S(i) = 0
  6. For j = 1 To l
  7. S(i) = S(i) + n(i, j)
  8. If S(i) < min Then min = S(i) And minI = i
  9. Next
  10. Next
  11. For j = 1 To l
  12. z(j) = n(minI, j)
  13. If z(j) < 0 Then ss = Space(2) Else ss = Space(3)
  14. zz = zz + Format(z(j), "00") + ss
  15. Next
  16. ListBox3.Items.Add(zz)
  17. ListBox5.Items.Add(min)
Прошу помочь хоть как-то, но лучше хотя бы немного подробнее объяснить, что именно у меня не так. Заранее благодарю за любую помощь.
Второй код, кстати, не полный, только сейчас заметил, что оттуда удалил случайно куски, связанные с минимум (точнее, связанные с заданием переменной Min), сейчас вспомню, как оно было...
null
в пятой строчке, пока вроде все, что заметил
В общем, забудьте о предыдущих кодах. Возьмем текущий, в котором, если я разберусь, по аналогии смогу сделать такой же. Вот код поиска строки с максимальной суммой элементов и вывода строки и этой суммы:
Листинг программы
  1. Sub PoiskMax(ByVal n(,) As Integer, ByVal y() As Integer, ByVal k As Integer, ByVal l As Integer, ByRef max As Single, ByRef maxI As Integer)
  2. Dim i, j As Integer
  3. Dim yy As String = " "
  4. Dim ss As String = " "
  5. For i = 1 To k
  6. y(i) = 0 : max = y(i) : maxI = i
  7. For j = 0 To l
  8. y(i) = y(i) + n(i, j)
  9. If y(i) > max Then max = y(i) And maxI = i
  10. Next
  11. Next
  12. Dim z As Integer
  13. z = 0
  14. For j = 0 To l
  15. y(z) = n(maxI, j)
  16. z = z + 1
  17. If y(j) < 0 Then ss = Space(2) Else ss = Space(3)
  18. yy = yy + Format(y(j), "00") + ss
  19. Next
  20. ListBox2.Items.Add(yy)
  21. ListBox4.Items.Add(max)
  22. End Sub
В итоге этого кода: выдает он не строку с максимальной суммой элементов, а строго последнюю строку массива; перед ней пихает элемент, непонятно откуда взявшийся; считает все-таки (уже хоть что-то) сумму этих элементов и вписывает ее рядом. Получается, надо понять, почему он вписывает именно последнюю строку, а не строку с максимальной суммой элементов и откуда он берет еще один элемент ,который вписывает перед остальными. Помогите?
Теперь при точно том же коде он мне выдает просто суммы строк. Я и так мало что понимал, теперь перестал понимать вообще что-либо. Мне нужно 3 массива (основной, двумерный, одномерный суммы и одномерный на вывод)? Видимо, для меня это слишком много - столько программирования без перерывов.
Просмотров много, ответа ни одного. Неужела даже зацепочки, в каком направлении искать и смотреть?

Решение задачи: «Двумерный массив, сумма элементов строк и вывод в listbox»

textual
Листинг программы
  1. For i = 0 To k
  2. For j = 0 To l
  3. sum = sum + n(i, j)
  4. ...

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.833 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы