Вместо символов выводятся квадраты, помогите
static void Main(string[] args)
{
Console.OutputEncoding = System.Text.Encoding.Default;
Console.Write("Введите n : ");
int n = int.Parse(Console.ReadLine());
int[] mas = new int[n];
char[] a = new char[n];
for (int i = 0; i < n; i++)
{
mas[i] = i + 1;
a[i] = (char)mas[i];
}
Permute(a, 0, a.Length - 1);
Console.ReadKey();
}
static void Permute(char[] a, int i, int n)
{
int j;
if (i == n)
{
Console.WriteLine(new string(a));
}
else
{
char temp;
for (j = i; j <= n; j++)
{
// swap(a[i], a[j]);
temp = a[i];
a[i] = a[j];
a[j] = temp;
Permute(a, i + 1, n);
// swap(a[i], a[j]);
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
Ответы (1 шт):
Автор решения: aepot
→ Ссылка
Вы просто перемудрили
static void Main(string[] args)
{
Console.Write("Введите n : ");
string n = Console.ReadLine();
char[] a = n.ToCharArray();
Permute(a, 0, a.Length - 1);
Console.ReadKey();
}
Вывод в консоль
Введите n : 123
123
132
213
231
321
312