Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 13.05.2020
Сообщений: 55

Ошибка "Индекс находится вне границ массива"

26.05.2020, 13:58. Показов 1596. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет, при вводе кол-ва строк, большего, чем кол-во столбцов дает ошибку "System.IndexOutOfRangeException: "Индекс находился вне границ массива.". И указывает на строку sum[i] += arr[i, j];
Как исправить?
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
private void create_Click(object sender, EventArgs e)
        {
            richTextBox1.Clear();
            richTextBox2.Clear();
            int n = Convert.ToInt32(rows.Text);
            int m = Convert.ToInt32(columns.Text);
            int a = Convert.ToInt32(min.Text);
            int b = Convert.ToInt32(max.Text);
            int[,] arr = new int[n, m];
            float[,] test = new float[n, m];
            int[] sum = new int[m];
            float[] arr2 = new float[n];
            Random ran = new Random();
 
            if (a > b)
            {
                MessageBox.Show("Минимальное значение не может быть больше максимального.");
                min.BackColor = Color.LightPink;
                min.Clear();
                max.Clear();
                min.Focus();
            }
            else
            {
                if (a == b)
                {
                    MessageBox.Show("Минимальное и максимальное значение не могут быть равны.");
                    min.BackColor = Color.LightPink;
                    max.BackColor = Color.LightPink;
                    min.Clear();
                    max.Clear();
                    min.Focus();
                }
                else
                {
                    for (int i = 0; i < n; i++)
                    {
                        richTextBox1.AppendText("\r\n" + "\r\n");
                        for (int j = 0; j < m; j++)
                        {
                            arr[i, j] = ran.Next(a, b);
                            richTextBox1.AppendText(arr[i, j] + "\t");
                            sum[i] += arr[i, j]; // Указывает на эту строку
                        }
                        richTextBox2.AppendText("\r\n" + "\r\n");
                        arr2[i] = sum[i] / m;
                        richTextBox2.AppendText(arr2[i] + "\t");
                    }
                    var temp = richTextBox1.Lines;
                    Regex regex = new Regex(@"^\d+");
                    for (int i = 0, k = 0; i < temp.Length; i++)
                    {
                        if (regex.IsMatch(temp[i]))
                        {
                            temp[i] = regex.Replace(temp[i], $"{arr2[k++]}");
                        }
                    }
                    richTextBox2.Lines = temp;
 
                }
            }
        }
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.05.2020, 13:58
Ответы с готовыми решениями:

Индекс находится вне границ массива
Дано такое задание &quot;Реализация прямого вывода для продукционной модели&quot; Написал код к заданию, но выходит такая ошибка: &quot;Индекс...

Индекс находится вне границ массива
У меня есть обычный массив, его размер зависит от выбранного количества элементов в comboBox. При изменении количества изменяется и размер...

Индекс находится вне границ массива
Всем привет) решил написать шифратор задал переменные, написал все, а вылезает ошибка... помогите пожалуйста... и ругается на...

2
 Аватар для ViterAlex
8951 / 4863 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
26.05.2020, 14:06
Лучший ответ Сообщение было отмечено WhoisThis как решение

Решение

Потому что массив sum ты инициализируешь по m, а перебираешь до n
1
0 / 0 / 0
Регистрация: 13.05.2020
Сообщений: 55
26.05.2020, 14:08  [ТС]
Благодарю
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.05.2020, 14:08
Помогаю со студенческими работами здесь

Индекс находится вне границ массива
Доброй ночи!!! пишу программу, много чего взял для программы с интернета, кое что свое добавил шифрует хорошо, а вот при дешифровании...

Индекс находится вне границ массива
for (int i=0; i&lt;text.Length; i++) { if(text.ToString()!=&quot; &quot;) { ...

Ошибка "Индекс находится вне границ массива"
allval = Math.Round(usdValue, 2).ToString() + &quot;;&quot; + Math.Round(euroValue, 2).ToString(); if...

с# forms индекс находится вне границ массива
вод кусочек кода программы, отвечающий за сортировку по алфавиту: private void button4_Click(object sender, EventArgs e) { ...

Как исправить ошибку индекс находится вне границ массива?
string text = textBox1.Text; char probel = ' '; if (checkboxpravil3.Checked) { ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru