C#

Алгоритм для игры на c#

Алгоритм создания двумерного массива размером 4, у которого числа от 1 до 4 в строке не повторяются, и числа в столбце тоже, на c#
NM
Nursultan Muslim
1 355
Это 24 возможных варианта 1-й строки, 6 - 2-й (при фиксированной 1-й), 2 - 3-й, а 4-я без вариантов. Итого 24 * 6 * 2 = 288 вариантов заполнения массива. Тебе какой из них нужен?

Один из вариантов:
 using System;
class HelloWorld {
static void Main() {
const short N = 4;
int[,] arr = new int[N, N];
for (short i = 0; i < N; i++) {
for (short j = 0; j < N; j++) {
arr[i, j] = (i + j) % N + 1;
Console.Write("{0,2}", arr[i, j]);
}
Console.WriteLine();
}
}
}
Результат:
 1 2 3 4
2 3 4 1
3 4 1 2
4 1 2 3
Sergey Zlobinskiy
Sergey Zlobinskiy
54 053
Лучший ответ
 int[,] matrix = new int[4, 4]; 
Random random = new Random();

// Заполняем массив случайными числами от 1 до 4 в каждой строке и каждом столбце
for (int i = 0; i < 4; i++)
{
// Создаем временный массив, содержащий числа от 1 до 4
int[] tempArray = { 1, 2, 3, 4 };

// Перемешиваем временный массив
for (int j = tempArray.Length - 1; j > 0; j--)
{
int randomIndex = random.Next(j + 1);
int temp = tempArray[randomIndex];
tempArray[randomIndex] = tempArray[j];
tempArray[j] = temp;
}

// Заполняем строку массива рандомными значениями из временного массива
for (int j = 0; j < 4; j++)
{
matrix[i, j] = tempArray[j];
}
}

// Выводим двумерный массив на экран
for (int i = 0; i < 4; i++)
{
for (int j = 0; j < 4; j++)
{
Console.Write(matrix[i, j] + " ");
}
Console.WriteLine();
}

Console.ReadLine();
Alek Kamalov
Alek Kamalov
29 295