привет, мне нужно знать, как вращать массив на 180 градусов на месте. в настоящее время я могу заставить его вращаться на 90 градусов, но просто не могу заставить его вращаться дальше. Если кто-нибудь может мне помочь, это было бы здорово, поскольку я застрял на этом вопросе уже пару дней. Спасибо, вот мой код:вращать массив 4x4 на 180 градусов C#
namespace Question_2_1_
{
class Program
{
static void Main(string[] args)
{
int[,] array = new int[4, 4] {
{ 1,2,3,4 },
{ 5,6,7,8 },
{ 9,0,1,2 },
{ 3,4,5,6 } };
int[,] rotated = RotateMatrix(array, 4);
var rowCount = array.GetLength(0);
var colCount = array.GetLength(1);
for (int i = 0; i < rowCount; i++)
{
for (int j = 0; j < colCount; j++)
{
Console.Write(String.Format("{0}", rotated[i, j]));
}
Console.Write(Environment.NewLine);
}
Console.ReadLine();
}
static int[,] RotateMatrix(int[,] matrix, int n)
{
int[,] ret = new int[n, n];
for (int i = 0; i < n; ++i)
{
for (int j = 0; j < n; ++j)
{
ret[i, j] = matrix[n - j - 1, i];
}
}
return ret;
}
}
}
Прежде чем вводить код для таких проблем, мне нравится визуализировать его (например, с помощью ручки и бумаги). Как только вы узнаете, где заканчивается каждая запись, легко ввести код. –
если вы точно знаете, что поворот на 90 градусов работает ..... сделайте это дважды. –
Можете ли вы добавить ожидаемый результат в нижней части кода (как комментарии)? Я хочу четко понимать, что вы подразумеваете под вращением. – ja72