static void PrintMainDiagonal()
int maxI = array.GetUpperBound(0);
int maxJ = array.GetUpperBound(1);
int diagonalLength = Math.Min(maxI, maxJ) + 1;
Console.Write("Основная диагональ:");
for (int i = 0; i < diagonalLength; i++)
Console.Write(" {0}", array[i, i]);
static void PrintAddidionalDiagonal()
int maxI = array.GetUpperBound(0);
int maxJ = array.GetUpperBound(1);
int diagonalLength = Math.Min(maxI, maxJ) + 1;
Console.Write("Побочная диагональ:");
for (int i = 0; i < diagonalLength; i++)
Console.Write(" {0}", array[diagonalLength - 1 - i, i]);
static void PrintAddidionalRightDiagonal()
int maxI = array.GetUpperBound(0);
int maxJ = array.GetUpperBound(1);
int diagonalLength = Math.Min(maxI, maxJ) + 1;
Console.Write("Побочная диагональ (справа):");
for (int i = 0; i < diagonalLength; i++)
Console.Write(" {0}", array[diagonalLength - 1 - i, maxJ - i]);
static void SwapMainDiagonalElements(int m, int n)
int maxI = array.GetUpperBound(0);
int maxJ = array.GetUpperBound(1);
int diagonalLength = Math.Min(maxI, maxJ) + 1;
if (m >= diagonalLength || n >= diagonalLength)
Console.WriteLine("Неправильные параметры для перестановки");
array[n, n] = array[m, m];
static void SwapAdditionalDiagonalElements(int m, int n)
int maxI = array.GetUpperBound(0);
int maxJ = array.GetUpperBound(1);
int diagonalLength = Math.Min(maxI, maxJ) + 1;
if (m >= diagonalLength || n >= diagonalLength)
Console.WriteLine("Неправильные параметры для перестановки");
int temp = array[diagonalLength - 1 - n, n];
array[diagonalLength - 1 - n, n] = array[diagonalLength - 1 - m, m];
array[diagonalLength - 1 - m, m] = temp;
int maxI = array.GetUpperBound(0);
int maxJ = array.GetUpperBound(1);
int diagonalLength = Math.Min(maxI, maxJ) + 1;
for (int i = 0; i < diagonalLength; i++)
sum += array[diagonalLength - 1 - i, i];
Console.Write("Сумма: {0} - ", sum);
bool endsWithZero = sum % 10 == 0;
Console.WriteLine("заканчивается нулем");
Console.WriteLine("не заканчивается нулем");
int maxI = array.GetUpperBound(0);
int maxJ = array.GetUpperBound(1);
int diagonalLength = Math.Min(maxI, maxJ) + 1;
int maxElement = Int32.MinValue;
for (int i = 0; i < diagonalLength; i++)
if (array[i, i] > maxElement)
maxElement = array[i, i];
Console.WriteLine("Максимальный элемент: array[{0}, {0}] = {1}", maxElementI, maxElement);
int[,] MyArr = new int[5, 5];
Random rnd = new Random();
Console.WriteLine("Массив:");
MyArr[i, j] = rnd.Next(1, 10);
Console.Write("{0}\t", MyArr[i, j]);
Console.WriteLine("Суммы строк:");
bool sameSumsExist = false;
Console.WriteLine(sums[i]);
for (int k = 0; k < i; k++)
Console.WriteLine("Есть строки с одинаковыми суммами");
Console.WriteLine("Нет строк с одинаковыми суммами");
public static void Main()