Реализация вывода элемента матрицы по индексу в main - C#

Узнай цену своей работы

Формулировка задачи:

Ребята , помогите реализовать вывод элемента матрицы по индексу в мейне
    public int this[int i, int j] // индексатор массива
            {
                get { return Matrix[i, j]; }
                set { Matrix[i, j] = value; }
            }
вот моя программа :
using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApplication19
{
    class Program
    {
        class laba1
        {
            public laba1(int a, int b) // заполнение массива
            {
                Random r = new Random(); 
                for (int i = 0; i < a; i++)
                    for (int j = 0; j < b; j++)
                        Matrix[i, j] = r.Next(-100, 100);
            }
            public int[,] Matrix = new int[100, 100];
 
            public void Vivod(int c, int d) //метод вывода матрицы
            {
                //выводим матрицу 
                for (int i = 0; i < c; i++)
                {
                    for (int j = 0; j < d; j++)
                        Console.Write(Matrix[i, j] + "\t");
                    Console.WriteLine("");
                }
            }
            public int this[int i, int j] // индексатор массива
            {
                get { return Matrix[i, j]; }
                set { Matrix[i, j] = value; }
            }
        }
 
class podmatrix
        {
            public podmatrix(ref int[,] matr, int a, int b)
            //в конструктор передаём параметры: указатель на исходную матрицу, длинну ширину создаваемой матрицы
            {
                A = a; B = b;
                for (int i = 0; i < a; i++)
                    for (int j = 0; j < b; j++)
                        Array[i, j] = matr[i, j]; //передаём элементы исходную матрицы в подматрицу
            }
            private int A, B; // А,В - размер матрицы
            private int[,] Array = new int[300, 300]; //объявляем матрицу
 
            public void showArray() //метод вывода подматрицы
            {
                for (int i = 0; i < A; i++)
                {
                    for (int j = 0; j < B; j++)
                        Console.Write(Array[i, j] + "\t");
                    Console.Write("\n");
                }
            }
        }
        class mainlaba1
        {
            public static void Main()
            {
                int a, b, c, d;
                Console.WriteLine("Дана матрица: Martix[a, b]");
                Console.Write("Введите количество строк a = ");
                a = Int32.Parse(Console.ReadLine());
                Console.Write("Введите количество столбцов b = ");
                b = Int32.Parse(Console.ReadLine());
                laba1 rev = new laba1(a, b);
                rev.Vivod(a, b);
                Console.WriteLine("Использование индексатора для записи (в ячейку [0, 0] записываем 5 ):");
                rev[0, 0] = 5;
                rev.Vivod(a, b);
                Console.WriteLine("Использование индексатора для записи ( выводим на экран элемент с ячейки[1, 1] ):");
                Console.WriteLine(rev[1, 1]);
 
                Console.WriteLine("Выводим на экран подматрицу:");
                Console.WriteLine("Дана матрица: PodMatr[c, d]");
                Console.Write("Введите количество строк подматрицы c = ");
                c = Int32.Parse(Console.ReadLine());
                Console.Write("Введите количество столбцов подматрицы d = ");
                d = Int32.Parse(Console.ReadLine());
 
                podmatrix A = new podmatrix(ref rev.Matrix, c, d);
                A.showArray();
                Console.ReadKey();
            }}}}

Решение задачи: «Реализация вывода элемента матрицы по индексу в main»

textual
Листинг программы
                Console.Write("Введите индекс  строки матрицы:");
                a = Convert.ToInt32(Console.ReadLine());
               
                Console.Write("Введите индекс столбца матрицы:");
                b = Convert.ToInt32(Console.ReadLine());
                Console.WriteLine(+rev[a - 1, b - 1]);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.889 из 5
Похожие ответы