В квадратной матрице переставить строки по возрастанию количества ненулевых элементов в строках - C#
Формулировка задачи:
В квадратной матрице переставить строки так, чтобы количество ненулевых элементов в строках росла от первой строки до последней.
Решение задачи: «В квадратной матрице переставить строки по возрастанию количества ненулевых элементов в строках»
textual
Листинг программы
Random rand = new Random();
Console.WriteLine("Введите число");
int n = Convert.ToInt32(Console.ReadLine());
int[,] c = new int[n,n];
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
c[i, j] = rand.Next(0, 2);
Console.Write(c[i, j] + "\t");
}
Console.WriteLine();
}
int[] index = new int[n];
int[] num = new int[n];
for (int i = 0; i < n; i++)
{
int temp = 0;
for (int j = 0; j < n; j++)
{
if(c[i, j]==0) temp+=1;
}
num[i] = temp;
index[i] = i;
}
Array.Sort(num, index);
Array.Reverse(index);
int[,] d = new int[n,n];
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
d[i, j] = c[index[i],j];
}
}
Console.WriteLine();
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
Console.Write("\t{0} ", d[i, j]);
}
Console.WriteLine();
}
Console.ReadKey();