Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 25.03.2020
Сообщений: 25
1

Индекс находился вне границ массива

24.03.2021, 18:55. Показов 429. Ответов 5

Author24 — интернет-сервис помощи студентам
Пишу код для заполнения массива. Останавливается выполнение с ошибкой "Индекс находился вне границ массива". Ошибку не вижу (переменные i, n объявлены ранее). Надеюсь на вашу помощь. Заранее благодарю.


Console.Write("\nКоличество уравнений: ");
int yrav = Convert.ToInt32(Console.ReadLine());
Console.Write("Количество переменных в системе: ");
int per = Convert.ToInt32(Console.ReadLine());
int[,] x = new int[yrav, per];
for(n=0;n<yrav;n++)
{
Console.WriteLine("Уравнение {0}", n+1);
for(i=0;i<per;i++)
{n=0
Console.Write("X{0}= ", i+1);
x[yrav,per]=Convert.ToInt32(Console.ReadLine());
}
}
for (; n < yrav; n++)
{
for (; i < per; i++)
{
Console.Write(x[yrav, per] + "\v");
}
}
Миниатюры
Индекс находился вне границ массива   Индекс находился вне границ массива  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.03.2021, 18:55
Ответы с готовыми решениями:

Индекс находился вне границ массива
Привет, форумчане. Есть очень странная проблема. Вылазит ошибка System.IndexOutOfRangeException:...

Индекс находился вне границ массива
int n = int.Parse(Console.ReadLine()); if (n &gt;= 1 &amp;&amp; n &lt;= 100000) { int...

индекс находился вне границ массива
Здравствуйте дорогие форумчане! Пишу код, выдаёт ошибку using System; using...

Индекс находился вне границ массива
Не могу понять почему Индекс находился вне границ массива. (&quot;Index was outside the bounds of the...

5
3560 / 2501 / 1174
Регистрация: 14.08.2016
Сообщений: 8,206
24.03.2021, 22:16 2
в приведенном виде оно даже не скомпилируется
0
0 / 0 / 0
Регистрация: 25.03.2020
Сообщений: 25
25.03.2021, 15:24  [ТС] 3
Цитата Сообщение от Ann562002 Посмотреть сообщение
Пишу код для заполнения массива. Останавливается выполнение с ошибкой "Индекс находился вне границ массива". Ошибку не вижу (переменные i, n объявлены ранее). Надеюсь на вашу помощь. Заранее благодарю.


Console.Write("\nКоличество уравнений: ");
int yrav = Convert.ToInt32(Console.ReadLine());
Console.Write("Количество переменных в системе: ");
int per = Convert.ToInt32(Console.ReadLine());
int[,] x = new int[yrav, per];
for(n=0;n<yrav;n++)
{
Console.WriteLine("Уравнение {0}", n+1);
for(i=0;i<per;i++)
{n=0
Console.Write("X{0}= ", i+1);
x[yrav,per]=Convert.ToInt32(Console.ReadLine());
}
}
for (; n < yrav; n++)
{
for (; i < per; i++)
{
Console.Write(x[yrav, per] + "\v");
}
}
Вот полный код

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Симплекс_метод
{
class Program
{
static void Main(string[] args)
{
int i = 0, n=0;
Console.Write("Количество переменных в функции: ");
int perF = Convert.ToInt32(Console.ReadLine());
int[] xf = new int[perF];
Console.Write("Функция:\n");

for (; i < perF; i++)
{
Console.Write("X{0}= ", i + 1);
xf[i] = Convert.ToInt32(Console.ReadLine());
}
Console.Write("F = {0}X1", xf[0]);
for (i = 1; i < perF; i++)
{
if (xf[i] > 0)
Console.Write("+{0}X{1}", xf[i], i);
else if (xf[i] < 0)
Console.Write("-{0}X{1}", Math.Abs(xf[i]), i);
else
i++;
}
Console.Write("\nКоличество уравнений: ");
int yrav = Convert.ToInt32(Console.ReadLine());
Console.Write("Количество переменных в системе: ");
int per = Convert.ToInt32(Console.ReadLine());
int[,] x = new int[yrav, per];
for(n=0;n<yrav;n++)
{
Console.WriteLine("Уравнение {0}", n+1);
for(i=0;i<per;i++)
{
Console.Write("X{0}= ", i+1);
x[yrav,per]=Convert.ToInt32(Console.ReadLine());
}
}
for (; n < yrav; n++)
{
for (; i < per; i++)
{
Console.Write(x[yrav, per] + "\v");
}
}
Console.Read();
}
}
}
0
601 / 485 / 185
Регистрация: 19.04.2016
Сообщений: 1,885
25.03.2021, 15:41 4
Цитата Сообщение от Ann562002 Посмотреть сообщение
Пишу код для заполнения массива
Если это так, то ошибка тут
C#
1
2
3
4
5
6
7
8
9
10
for (n = 0; n < yrav; n++)
{
    Console.WriteLine("Уравнение {0}", n + 1);
    for (i = 0; i < per; i++)
    {
        Console.Write("X{0}= ", i + 1);
// где-то тут
        x[yrav, per] = Convert.ToInt32(Console.ReadLine());
    }
}

Не по теме:

Console.Read(); ?



Добавлено через 5 минут
Тут такая же ошибка
C#
1
2
3
4
5
6
7
8
9
10
11
for (; n < yrav; n++)
{
for (; i < per; i++)
{
Console.Write(x[yrav, per] + "\v");
}
}
Console.Read();
}
}
}
Добавлено через 2 минуты
И вообще что это ))
C#
1
2
3
4
5
6
7
8
int i = 0, n = 0;
//
for (n = 0; n < yrav; n++)
{
    Console.WriteLine("Уравнение {0}", n + 1);
//
for (; n < yrav; n++)
// тоже самое с i
0
0 / 0 / 0
Регистрация: 25.03.2020
Сообщений: 25
25.03.2021, 15:49  [ТС] 5
Цитата Сообщение от EveKS Посмотреть сообщение
Console.Read(); ?
Ожидание, чтобы не закрывалось окно сразу после выполнения

Добавлено через 2 минуты
Цитата Сообщение от EveKS Посмотреть сообщение
И вообще что это ))
Мне нужно чтобы вводились несколько коэффициентов уравнений(с предварительной записью "Уравнение 1,2..."), а в системе запись шла в массив
0
601 / 485 / 185
Регистрация: 19.04.2016
Сообщений: 1,885
25.03.2021, 17:54 6
Ann562002,
Решение есть.
1. Сначала надо понять задачу.
2. Подумать, что надо сделать и что использовать для ее решения
3. Сделать выводы, и разбить задачу на этапы
4. Решить как будет осуществлен каждый из этапов
5. Приступить к поэтапному решению
0
25.03.2021, 17:54
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.03.2021, 17:54
Помогаю со студенческими работами здесь

Индекс находился вне границ массива
for (int iter = 0; iter &lt; s_text.Length; iter++) { output = hill -...

Индекс находился вне границ массива
int numCol = 1; Range usedColumn = ObjWorkSheet.UsedRange.Columns; ...

Индекс находился вне границ массива
Visual Studio // выписываем полином txtPoly.Text = &quot;ỹ = &quot; + Math.Round(C, 3); ...

Индекс находился вне границ массива
При вводе больше 2 пробелов оно выдает ошибку что индекс находился вне границ массива .Как это...

Индекс находился вне границ массива
int count = 0; String text = textBox1.Text; String total = &quot;&quot;; ...

Индекс находился вне границ массива
После того как я сгенерировал массив, и должна выполнятся сортировка, выдает ошибку &quot;Индекс...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru