Главная страница
Навигация по странице:

  • Ход работы (14 вариант)

  • Лаб раб 9. Лабораторная работа 9. Конструктор класса. Перезагрузка конструкторов класса Цель понять принципы работы конструктора класса


    Скачать 69.04 Kb.
    НазваниеЛабораторная работа 9. Конструктор класса. Перезагрузка конструкторов класса Цель понять принципы работы конструктора класса
    Дата30.11.2022
    Размер69.04 Kb.
    Формат файлаdocx
    Имя файлаЛаб раб 9.docx
    ТипЛабораторная работа
    #820969

    Лабораторная работа №9.

    Конструктор класса. Перезагрузка конструкторов класса
    Цель: понять принципы работы конструктора класса.

    Контрольные вопросы:

    1. Класс – тип данных, объединяющий данные и методы их обработки. Класс – пользовательский шаблон, в соответствии с которым можно создавать объекты.

    2. Конструктор класса – метод класса, не возвращающий значение и имеющий то же имя, что и у класса.

    3. Перезагрузка методов – несколько версий одного метода с разными сигнатурами.

    4. Да, может. Ниже приведен скриншот:



    Ход работы (14 вариант):

    using System;

    using System.Collections.Generic;

    using System.Linq;

    using System.Text;

    using System.Threading.Tasks;
    namespace laba9

    {

    internal class Program

    {

    static void Main(string[] args)

    {

    Console.WriteLine("Лабораторная работа №9 - Конструктор класса. Перезагрузка конструкторов класса\nВыполнил: Нотыч А.В., группа БПИ-21\n");
    Console.WriteLine("Создание матрицы 3x3 с помощью конструктора №1:"); // конструктор 1

    Matrix matrix1 = new Matrix();

    Console.WriteLine("\nСгенерирована матрица [3x3]\n");

    matrix1.Gen();

    matrix1.Output();
    //
    Console.WriteLine("\nСоздание пользовательской матрицы с помощью конструктора №2:\n"); // конструктор 2

    int width; int height;

    do

    {

    Console.Write("Введите число M (не менее 1): ");

    width = Convert.ToInt32(Console.ReadLine());

    Console.Write("Введите число N (не менее 1): ");

    height = Convert.ToInt32(Console.ReadLine());

    }

    while (width < 1 || height < 1);
    Matrix m = new Matrix(width, height);

    Console.WriteLine("\nСгенерирована матрица [{0}x{1}]\n", width, height);

    m.Gen();

    m.Output();
    //
    Console.WriteLine("\nСоздание матрицы 3x3 с помощью конструктора №3:\n"); // конструктор 3

    width = 3; height = 3;

    Matrix matrix2 = new Matrix(3, 5, 7, 33, -1, 6, 22, 0, 65);

    matrix2.Output();
    //

    Console.WriteLine("\nТакже предлагается выполнить несколько действий из предыдущей лабораторной работы:");
    Console.Write("\nЧтобы отобразить среднее арифметическое всех элементов, нажмите любую клавишу..."); Console.ReadKey();

    Console.WriteLine("\nСреднее арифметическое: {0}", matrix2.Average());
    Console.Write("\nЧтобы отобразить транспонированную матрицу, нажмите любую клавишу..."); Console.ReadKey();

    Console.WriteLine("\nТранспонированная матрица [{1}x{0}]\n", width, height);

    matrix2.Trans();

    }

    }

    public class Matrix

    {

    public int width; public int height;

    public Matrix()

    {

    width = 3; height = 3;

    }

    public Matrix(int width, int height)

    {

    this.width = width; this.height = height;

    }

    public Matrix(int a, int b, int c, int d, int e, int f, int g, int h, int i)

    {

    width = 3; height = 3;

    matrix[0, 0] = a; matrix[0, 1] = b; matrix[0, 2] = c; matrix[1, 0] = d; matrix[1, 1] = e; matrix[1, 2] = f; matrix[2, 0] = g; matrix[2, 1] = h; matrix[2, 2] = i;

    }
    public int[,] matrix = new int[100, 100];

    public void Gen()

    {

    Random rand = new Random();

    for (int i = 0; i < width; i++)

    {

    for (int j = 0; j < height; j++)

    {

    matrix[i, j] = rand.Next(-100, 100);

    }

    }

    }

    public void Output()

    {

    for (int i = 0; i < width; i++)

    {

    for (int j = 0; j < height; j++)

    {

    Console.Write(matrix[i, j] + "\t");

    }

    Console.WriteLine("");

    }

    }

    public void Trans()

    {

    for (int j = 0; j < height; j++)

    {

    for (int i = 0; i < width; i++)

    {

    Console.Write(matrix[i, j] + "\t");

    }

    Console.WriteLine("");

    }

    Console.WriteLine("");

    }

    public double Average()

    {

    int sum = 0; double average;

    for (int i = 0; i < width; i++)

    {

    for (int j = 0; j < height; j++)

    {

    sum += matrix[i, j];

    }

    }

    average = sum / (width * height);

    return average;

    }

    }

    }


    P.S. В самом начале класса Matrix() отображены 3 его перегруженных конструктора.


    написать администратору сайта