enter code here
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace testing_random
{
class Program
{
static void Main(string[] args)
{
int n = 4;
int[,] a = new int[n,n];//declaring the matrix
Random o = new Random();
a[0,0] = o.Next(n);
for (int i = 1; i < n; i++)//filling the first line
{
int d = 1;
while (d != 0)
{
a[i,0] = o.Next(n);
d = 0;
for (int j = 0; j < i; j++)
if (a[i,0] == a[j,0])
d++;
}
}
for (int i = 1; i < n; i++)//filing the first column
{
int d = 1;
while (d != 0)
{
a[0, i] = o.Next(n);
d = 0;
for (int j = 0; j < i; j++)
if (a[0, i] == a[0, j])
d++;
}
}
for (int k = 1; k < n; k++)//filling the rest of the matrix
for (int i = 1; i < n; i++)
{
int d = 1;
while (d != 0)
{
a[i, k] = o.Next(n);
d = 0;
for (int j = 0; j < i; j++)
if (a[i, k] == a[j, k])
d++;
for (int j = 0; j < k; j++)
if (a[i, k] == a[i, j])
d++;
}
}
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
Console.Write("{0} ", a[i, j]);
Console.WriteLine();
}
Console.ReadLine();
}
}
}
Выход должен быть матрицей 4 * 4, где каждый столбец и каждая строка содержат каждое число один раз. Проблема заключается в том, когда я запускаю код, а не каждый раз, когда я получаю вывод, я думаю, что проблема заключается не в каждом наборе первой строки, а в столбце, который может потребовать, я получаю бесконечный цикл. Я хочу ограничить время работы приложения до 100 мс на пример, поэтому, если матрица не заполнена, программа перезагрузится Какой код кода мне не хватает?Я делаю судоку на C#
Я думаю, что это сработало. Спасибо – Elie
Пожалуйста, дайте нам знать, если это сработает. Как только он сработает, пожалуйста, «примите» ответ, который был вам наиболее полезен. –