Не понимаю почему при выводе максимального элемента и номера максимального элемента массива b выводит нули вместо положенного значения (Прикрепляю код ниже)
static void maxx(int[,] x, ref int xmax, ref int imax)
{
xmax = x[0, 0];
imax = 0;
for (int i = 0; i < x.GetLength(0); i++)
for (int j = 0; j < x.GetLength(1); j++)
{
if (x[i, j] > xmax)
{
xmax = x[i, j];
imax = j;
}
}
Console.Write(xmax + " ");
xmax = 0;
Console.WriteLine(imax);
}
static void maxx1(int[,] p, ref int pmax, ref int lmax)
{
pmax = p[0, 0];
lmax = 0;
for (int z = 0; z < p.GetLength(0); z++)
for (int l = 0; l < p.GetLength(1); l++)
{
if(p[z, l] > lmax)
{
pmax = p[z, l];
lmax = l;
}
Console.Write(pmax + " ");
pmax = 0;
Console.WriteLine(lmax);
}
}
static void Main(string[] args)
{
int[,] a = new int[5, 4];
Random r = new Random();
for (int i = 0; i < a.GetLength(0); i++)
{
for (int j = 0; j < a.GetLength(1); j++)
{
a[i, j] = r.Next(-100, 100);
Console.Write(a[i, j] + "\t");
}
Console.WriteLine();
}
int amax = 0, iamax = 0;
maxx(a, ref amax, ref iamax);
Console.WriteLine();
int[,] b = new int[5, 4];
Random k = new Random();
for (int i1 = 0; i1 < b.GetLength(0); i1++)
{
for (int j1 = 0; j1 < b.GetLength(1); j1++)
{
a[i1, j1] = r.Next(-100, 100);
Console.Write(a[i1, j1] + "\t");
}
Console.WriteLine();
}
int bmax = 0, ibmax = 0;
maxx1(b, ref bmax, ref ibmax);
}