Почему код иногда выдаёт переполнение массива? - C#

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

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

Товарищи, почему выдаёт иногда выдаёт переполнение массива?
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace ConsoleApplication24
  7. {
  8. class Program
  9. {
  10. static void Main(string[] args)
  11. {
  12. Random rnd = new Random();
  13. int[] otr = new int[20];
  14. int[] nol = new int[20];
  15. int[] chet = new int[20];
  16. int[] nchet = new int[20];
  17. int[,] q = new int[4, 4];
  18. int i = 0;
  19. int o = 0;
  20. int n = 0;
  21. for (int w = 0; w < 4; w++)
  22. {
  23. for (int j = 0; j < 4; j++)
  24. {
  25. int p = rnd.Next(-20, 20);
  26. q[w, j] = p;
  27. if (q[w, j] < 0)//отрицательные
  28. {
  29. otr[o] = q[w, j];
  30. i++;
  31. Console.WriteLine("Отрицательные {0}", q[w, j]);
  32. }
  33. if (q[w, j] == 0)//нули
  34. {
  35. nol[n] = q[w, j];
  36. i++;
  37. Console.WriteLine("Нули {0}", q[w, j]);
  38. }
  39. if (q[w, j] % 2 == 0) //чётные
  40. {
  41. chet[i] = q[w, j];
  42. i++;
  43. Console.WriteLine("Чётные {0}", q[w, j]);
  44. }
  45. else //нечётные
  46. {
  47. nchet[i] = q[w, j];
  48. i++;
  49. Console.WriteLine("Нечётные {0}", q[w, j]);
  50. }
  51. }
  52. }
  53. }
  54. }
  55. }

Решение задачи: «Почему код иногда выдаёт переполнение массива?»

textual
Листинг программы
  1. otr[o] = q[w, j];
  2. i++;

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


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

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

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

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

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

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