Ошибка индекс вне границ массива - C#
Формулировка задачи:
банально индекс вне границ массива
class Program
{
static int getrandom(int r)
{
Random rand = new Random();
r = rand.Next(-25, 26);
return r;
}
static void getnumber(int [] masx)
{
for (int i=0;i<masx.Length;i++)
{
masx[i] = getrandom(i);
}
}
static void Main(string[] args)
{
Console.Write("ввод размерности массива:");
int n = int.Parse(Console.ReadLine());
int[] mas = new int[n];
getnumber(mas);
foreach (int i in mas)
Console.Write(" "+mas[i]);
}
}
и как передавать массив из метода в метод, например main
static void getarray ( int [] mas)
{
Console.Write("ввод размерности массива:");
int n = int.Parse(Console.ReadLine());
mas = new int[n];
}
static void Main(string[] args)
{
getarray();
}Решение задачи: «Ошибка индекс вне границ массива»
textual
Листинг программы
using System;
class Program
{
static Random rand = new Random();
static void getarray(out int[] mas)
{
Console.Write("ввод размерности массива:");
int n = int.Parse(Console.ReadLine());
mas = new int[n];
}
static int getrandom(int r)
{
r = rand.Next(-25, 26);
return r;
}
static void getnumber(int[] masx)
{
for (int i = 0; i < masx.Length; i++)
{
masx[i] = getrandom(i);
}
}
static void Main(string[] args)
{
int[] mas;
getarray(out mas);
getnumber(mas);
foreach (int i in mas)
Console.Write(" " + i);
}
}