--- C# 7.3 ---
using System;
using System.Collections.Generic;
using System.Linq;
namespace CSLear
{
class Program
{
private const int stdRow = 5;
private const int stdCols = 6;
static void Main(string[] args)
{
int[,] Arr = new int[stdRow, stdCols];
ArrayRandomize(ref Arr, stdRow, stdCols);
RemoveFirstRow(ref Arr, stdRow, stdCols);
Console.ReadKey();
}
public static void RemoveFirstRow<T>(ref T[,] Matr, int ArrRows, int ArrCols)
{
T[,] Temp = new T[ArrRows-1,ArrCols];
for (int i = 1; i < ArrRows; i++)
{
for (int j = 0; j < ArrCols; j++)
{
Temp[i - 1, j] = Matr[i, j];
}
}
Matr = Temp;
}
public static void ArrayRandomize(ref int[,] Arr, int ArrRows, int ArrCols)
{
Random r = new Random();
for (int i = 0; i < ArrRows; i++)
{
for (int j = 0; j < ArrCols; j++)
{
Arr[i, j] = r.Next(-99, 99);
}
}
}
}
}
Объяснение:
Если взять 3 ботинка, то они могут оказаться из разных пар, но четвертый ботинок точно составит хоть одну полную пару. Из 12 пар носков есть какое-то количество красных экземпляров и какое-то количество белых. Если взять только 2 носка, то среди них может оказаться один белый носок, что нас не устраивает. Если же взять 3 носка, то возможны варианты: 3 красных, 3 белых, 1 красный и 2 белых, 2 красных и 1 белый.