Реализовать перегрузку методов в приведенном коде - C#
Формулировка задачи:
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main()
{
var array = new int[3,5];
Fill(array,-1,10);
Write(array);
Console.WriteLine("Максимальная последовательность одинаковых чисел имеет длину {0}, количество столбцов, содержащиx нули равно {1}.",MaxSameNumbersSequence(array),CountColumnsWithZeroes(array));
Console.ReadLine();
}
public static void Fill(int[,] a, int minValue, int maxValue)
{
var r = new Random(Convert.ToInt32(DateTime.Now.Ticks % 10000));
for (var i = 0; i < a.GetLength(0); i++) for (var j = 0; j < a.GetLength(1); j++) a[i, j] = r.Next(minValue, maxValue);
}
public static int MaxSameNumbersSequence(int[,] a)
{
var k = 0;
var kMax = 1;
for (int i = 0; i < a.GetLength(0);i++)
{
for (int j = 0; j < a.GetLength(1)-1; j++)
{
if (a[i, j] == a[i, j + 1])
{
k++;
if (k > kMax) kMax = k;
}
else k = 1;
}
}
return kMax;
}
public static int CountColumnsWithZeroes(int[,] a)
{
var k = 0;
for (int i = 0; i < a.GetLength(1); i++)
{
for (int j = 0; j < a.GetLength(0); j++)
{
if (a[j, i] != 0) continue;
k++;
break;
}
}
return k;
}
public static void Write(int[,] a)
{
for (var i = 0; i < a.GetLength(0); i++, Console.WriteLine()) for (var j = 0; j < a.GetLength(1); j++) Console.Write(a[i, j]+" ");
}
}
}Решение задачи: «Реализовать перегрузку методов в приведенном коде»
textual
Листинг программы
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main()
{
var array = new int[3, 5];
// перегруженный метод
myMetod(array, -1, 10);
// перегруженный метод
myMetod(array);
Console.WriteLine("Максимальная последовательность одинаковых чисел имеет длину {0}, количество столбцов, содержащиx нули равно {1}.", MaxSameNumbersSequence(array), CountColumnsWithZeroes(array));
Console.ReadLine();
}
// перегруженный метод
public static void myMetod(int[,] a, int minValue, int maxValue)
{
var r = new Random(Convert.ToInt32(DateTime.Now.Ticks % 10000));
for (var i = 0; i < a.GetLength(0); i++) for (var j = 0; j < a.GetLength(1); j++) a[i, j] = r.Next(minValue, maxValue);
}
public static int MaxSameNumbersSequence(int[,] a)
{
var k = 0;
var kMax = 1;
for (int i = 0; i < a.GetLength(0); i++)
{
for (int j = 0; j < a.GetLength(1) - 1; j++)
{
if (a[i, j] == a[i, j + 1])
{
k++;
if (k > kMax) kMax = k;
}
else k = 1;
}
}
return kMax;
}
public static int CountColumnsWithZeroes(int[,] a)
{
var k = 0;
for (int i = 0; i < a.GetLength(1); i++)
{
for (int j = 0; j < a.GetLength(0); j++)
{
if (a[j, i] != 0) continue;
k++;
break;
}
}
return k;
}
// перегруженный метод
public static void myMetod(int[,] a)
{
for (var i = 0; i < a.GetLength(0); i++, Console.WriteLine())
for (var j = 0; j < a.GetLength(1); j++) Console.Write(a[i, j] + " ");
}
}
}