Заполнить секторы матрицы, которые лежат влево и вправо от главной и побочной диагоналей - C#
Формулировка задачи:
помогите, пожалуйста, написать программу на C#
Нужно заполнить секторы матрицы, которые лежат влево и вправо от главной и побочной диагоналей, ЛП, от левого верхнего угла вправо - вниз. Остаток матрицы заполнить нулями.
Листинг программы
- 0 1 2 3 4 5 6 7 0
- 0 0 8 9 10 11 12 0 0
- 0 0 0 13 14 15 0 0 0
- 0 0 0 0 16 0 0 0 0
- 0 0 0 0 0 0 0 0 0 0
- 0 0 0 0 17 0 0 0 0
- 0 0 0 18 19 20 0 0 0
- 0 0 21 22 23 24 0 0
- 0 25 26 27 28 29 30 31 32 0
Решение задачи: «Заполнить секторы матрицы, которые лежат влево и вправо от главной и побочной диагоналей»
textual
Листинг программы
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace Console1
- {
- class Program
- {
- static int max;
- static Random rnd;
- static void Main(string[] args)
- {
- rnd = new Random();
- Console.WriteLine("Введите размер матрицы: (если размер будет не коректный, значение будет по умолчанию: 10)");
- try
- {
- max = Convert.ToInt32(Console.ReadLine());
- }
- catch { max = 10; }
- int[,] massive = new int[max, max];
- for (int i = 0; i < max; i++)
- {
- for (int j = 0; j < max; j++)
- {
- if (i < max / 2)
- {
- if (j > i && j < max - i - 1) massive[i, j] = rnd.Next(1, 10);
- else massive[i, j] = 0;
- }
- else if (i > max / 2)
- {
- if (j < i && j > max - i - 1) massive[i, j] = rnd.Next(1, 10);
- else massive[i, j] = 0;
- }
- else massive[i, j] = 0;
- }
- }
- for (int i = 0; i < max; i++)
- {
- Console.WriteLine();
- for (int j = 0; j < max; j++)
- {
- Console.Write(massive[i,j].ToString() + " ");
- }
- }
- Console.ReadKey();
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д