Зеркально отразить элементы матрицы относительно горизонтальной оси симметрии - 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();
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д