Модифицировать код с использованием ООП - C#

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

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

Помогите преобразовать программный код в ООП или что-то вроде,плохо понял,надеюсь на вашу помощь Буду Благодарен!
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Задаём цвет программы
            Console.ForegroundColor = ConsoleColor.DarkCyan;
            Console.BackgroundColor = ConsoleColor.Green;
            Console.Clear();

            // Создаём переменные под размерность массива
            int n, m;
 
            // Выводим на консоль фразу в кавычках 
            Console.WriteLine("Размерность массива n*m");
 
            // Запрашиваем размерность матрицы
            Console.Write("n= ");
 
            // Считаем количество строк
            n = int.Parse(Console.ReadLine());
            Console.Write("m= ");
 
            // Считаем количество столбцов
            m = int.Parse(Console.ReadLine());
 
            // Создаем массив для хранения элементов матрицы 
            int[,] mas = new int[n, m];
 
            // Запрашиваем элементы с консоли 
            Console.WriteLine("ВВЕДИТЕ ЭЛЕМЕНТЫ МАССИВА:");
            for (int i = 0; i < n; i++)
                for (int j = 0; j < m; j++)
                    mas[i, j] = int.Parse(Console.ReadLine());
            Console.WriteLine();
            Console.Clear();
 
            // Выводим на экран получившийся массив
            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < m; j++)
                    Console.Write("{0,4}", mas[i, j]);
                Console.WriteLine();
            }
            Console.WriteLine();
            Console.WriteLine("Сумма по столбцам");
 
            // Считаем суммы для каждого стобца
            // Первый цыкл - перебор по столбцам
            for (int j = 0; j < m; j++)
            {
 
                // Временная переменная, для каждого нового столбца она будет новая ( изначальная 0 )
                int sum1 = 0;
 
                // Суммыруем текущий столбец
                for (int i = 0; i < n; i++)
                    sum1 += mas[i, j];
 
                // Выводим результат
                Console.Write("{0,4}", sum1);
            }
            Console.WriteLine();
            Console.WriteLine();
            Console.WriteLine("Сумма по строкам");
 
            // Переменная для хранения суммы всех элементов
            int sum3 = 0;
 
            // тут перебор аналогично столбцам
            for (int i = 0; i < n; i++)
            {
                int sum2 = 0;
                for (int j = 0; j < m; j++)
                    sum2 += mas[i, j];
                Console.WriteLine(sum2);
                sum3 += sum2;
            }
 
            //переменная для хранения суммы всех элементов
            int sum_glav = 0;
 
            // суммируем по главной диагонали
            for (int j = 0; j < n; j++)
            {
                sum_glav = mas[j, j] + sum_glav;
            }
 
            //выводим результат
            Console.WriteLine("Сумма элементов по главной диагонали = " + sum_glav);
 
            //переменная для хранения суммы всех элементов
            int sum_neglav = 0;
 
            // Суммируем по побочной диагонали
            for (int i = 0; i < n; i++)
            {
                sum_neglav = mas[i, n - i - 1] + sum_neglav;
            }
 
            //Выводим результат 
            Console.WriteLine("Сумма элементов по побочной диагонали = " + sum_neglav);
            Console.WriteLine();
            Console.WriteLine("Общая сумма элементов матрицы");
            Console.WriteLine(sum3);
                    Console.Write("\t\t\t");
                    // Выводим на консоль фразу в кавычках
                    Console.WriteLine(" Для завершения работы с программой нажмите Enter");
                    Console.ReadLine();
                }
            }
        }

Решение задачи: «Модифицировать код с использованием ООП»

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication1
{
    class ArrayMethods
    {
        private int [,] mas;
        
        public ArrayMethods(int[,] array)
        {
            mas = array;
        }
        
        public void PrintArray()
        {
            for (int i = 0; i < mas.GetLength(0); i++)
            {
                for (int j = 0; j < mas.GetLength(1); j++)
                    Console.Write("{0,4}", mas[i, j]);
                Console.WriteLine();
            }
            
        }
 
        public void PrintColSum()
        {
            for (int j = 0; j < mas.GetLength(1); j++)
            {
 
                // Временная переменная, для каждого нового столбца она будет новая ( изначальная 0 )
                int sum = 0;
 
                // Суммыруем текущий столбец
                for (int i = 0; i < mas.GetLength(0); i++)
                    sum += mas[i, j];
 
                // Выводим результат
                Console.Write("{0,4}", sum);
            }
        }
 
        public void PrintRowSum()
        {
            
 
            // тут перебор аналогично столбцам
            for (int i = 0; i < mas.GetLength(0); i++)
            {
                int sum2 = 0;
                for (int j = 0; j < mas.GetLength(1); j++)
                    sum2 += mas[i, j];
                Console.WriteLine(sum2);
            }
 
        }
 
        public int MainDiagonalSum()
        {
            //переменная для хранения суммы всех элементов
            int sum_glav = 0;
 
            // суммируем по главной диагонали
            for (int j = 0; j < mas.GetLength(0); j++)
            {
                sum_glav = mas[j, j] + sum_glav;
            }
            return sum_glav;
        }
 
        public int SecondaryDiagonalSum()
        {
            int sum_neglav = 0;
 
            // Суммируем по побочной диагонали
            for (int i = 0; i < mas.GetLength(0); i++)
            {
                sum_neglav = mas[i, mas.GetLength(0) - i - 1] + sum_neglav;
            }
            return sum_neglav;
        }
 
        public int GeneralSum()
        {
            int sum = 0;
            for (int j = 0; j < mas.GetLength(0); j++)
            {   
                for (int i = 0; i < mas.GetLength(1); i++)
                    sum += mas[j, i];      
            }
            return sum;
 
        }
 
 
    }
 
    static class Menu
    {
       public static void Start()
        {
            // Задаём цвет программы
            Console.ForegroundColor = ConsoleColor.DarkCyan;
            Console.BackgroundColor = ConsoleColor.Green;
            Console.Clear();
 
 
            // Создаём переменные под размерность массива
            int n, m;
 
            // Выводим на консоль фразу в кавычках 
            Console.WriteLine("Размерность массива n*m");
 
            // Запрашиваем размерность матрицы
            Console.Write("n= ");
 
            // Считаем количество строк
            n = int.Parse(Console.ReadLine());
            Console.Write("m= ");
 
            // Считаем количество столбцов
            m = int.Parse(Console.ReadLine());
 
            // Создаем массив для хранения элементов матрицы 
            int[,] mas = new int[n, m];
 
            // Запрашиваем элементы с консоли 
            Console.WriteLine("ВВЕДИТЕ ЭЛЕМЕНТЫ МАССИВА:");
            for (int i = 0; i < n; i++)
                for (int j = 0; j < m; j++)
                    mas[i, j] = int.Parse(Console.ReadLine());
            Console.WriteLine();
            Console.Clear();
 
 
            ArrayMethods arr = new ArrayMethods(mas);
            arr.PrintArray();
            Console.WriteLine();
            Console.WriteLine("Сумма по столбцам");
            arr.PrintColSum();
            Console.WriteLine();
            Console.WriteLine();
            Console.WriteLine("Сумма по строкам");
            arr.PrintRowSum();
            Console.WriteLine();
 
            Console.WriteLine("Сумма элементов по главной диагонали = " + arr.MainDiagonalSum());
            Console.WriteLine();
            Console.WriteLine("Сумма элементов по побочной диагонали = " + arr.SecondaryDiagonalSum());
            Console.WriteLine();
            Console.WriteLine("Общая сумма элементов матрицы = " + arr.GeneralSum());
            Console.Write("\t\t\t");
            // Выводим на консоль фразу в кавычках
            Console.WriteLine(" Для завершения работы с программой нажмите Enter");
            Console.ReadLine();
           
 
 
 
        }
    }
 
 
 
    class Program
    {
        static void Main(string[] args)
        {
            Menu.Start();
        }
    }
}

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


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

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

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