Реализация вывода элемента матрицы по индексу в 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]);