Зеркально отразить элементы матрицы относительно горизонтальной оси симметрии - C#
Формулировка задачи:
Дана матрица размера M × N. Зеркально отразить ее элементы относительно горизонтальной оси симметрии матрицы (при этом поменяются местами строки с номерами 1 и M, 2 и M – 1 и т. д.).
Решение задачи: «Зеркально отразить элементы матрицы относительно горизонтальной оси симметрии»
textual
Листинг программы
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Collections; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { int[,] a; int m = 0, n = 0,tmp = 0; Random r = new Random(); while(n <= 0) { Console.Write("N = "); n = Convert.ToInt32(Console.ReadLine()); } while (m <= 0) { Console.Write("M = "); m = Convert.ToInt32(Console.ReadLine()); } a = new int[n, m]; Console.WriteLine("Исходная матрица"); for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { a[i, j] = r.Next(10); Console.Write("{0} ",a[i,j]); } Console.WriteLine(); } for (int i = 0; i < (n/2) ;i++ ) { for (int j = 0; j < m; j++) { tmp = a[i, j]; a[i, j] = a[(n - i - 1), j]; a[(n - i - 1), j] = tmp; } } Console.WriteLine("Зеркальная матрица"); for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { Console.Write("{0} ", a[i, j]); } Console.WriteLine(); } Console.ReadKey(); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д