Работа с простейшими массивами: 1)сортировка; 2)определение суммы и сортировка - C#

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

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

1)Класс описывает одномерный массив, состоящий из n целых элементов со значениями в диапазоне от (0 до 100). Методы класса должны: менять местами значения элементов массива по принципу a[1]↔a[3], a[4]↔a[6] и т.д.; отменять действие первого метода; Свойство должно получать количество четных элементов. 2)Класс описывает квадратную матрицу размерности MxM, состоящую из целых элементов со значениями в диапазоне от (-7 до 7). Методы класса должны:определять сумму элементов побочной диагонали; менять местами столбцы с произвольными номерами (номера столбцов передаются в метод как параметры). Свойство должно получать количество всех отрицательных элементов массива. Вывод на экран массива, вывод результатов выполнения методов и значения, возвращаемого свойством выполнять в методе Main.

Решение задачи: «Работа с простейшими массивами: 1)сортировка; 2)определение суммы и сортировка»

textual
Листинг программы
using System;
 
namespace Vladisis
{
 
    public class Task2
    {
        int[,] a;
        public int NegAmount { get { return this.negCounter(); } }
 
        public Task2(int length) 
        {
            Random rand = new Random();
            a=new int[length,length];
            for (int i = 0; i < length; i++)
            {
                for (int j = 0; j < length; j++)
                {
                    a[i, j] = rand.Next(-7, 8);
                }
            }
        }
 
        public void Print()
        {
            for (int i = 0; i < a.GetLength(0); i++)
            {
                for (int j = 0; j < a.GetLength(1); j++)
                {
                   Console.Write(a[i, j]+" ");  
                }
                Console.WriteLine();
            }
        }
 
        public int RightDiagSum()
        {
            int ans = 0;
            int i, j;
            for (i = 0, j=a.GetLength(0)-1 ; i < a.GetLength(0); i++, j--)
            {
                ans += a[i, j];
            }
            return ans;
        }
 
        public void SwapColumns(int c1, int c2)
        {
            int temp;
            for (int i = 0; i < a.GetLength(0); i++)
            {
                temp = a[i, c1];
                a[i, c1] = a[i, c2];
                a[i, c2] = temp;
            }
        }
 
        private int negCounter()
        {
            int ans = 0;
            for (int i = 0; i < a.GetLength(0); i++)
            {
                for (int j = 0; j < a.GetLength(1); j++)
                {
                    if (a[i, j] < 0) ans++;
                }
            }
            return ans;
        }
    }
 
    class Program
    {
        static void Main(string[] args)
        {
            Task2 t2 = new Task2(3);
            t2.Print();
            Console.WriteLine(t2.RightDiagSum());
            Console.WriteLine();
            t2.SwapColumns(0, 2);
            t2.Print();
            Console.WriteLine();
            Console.WriteLine(t2.NegAmount);
 
            Console.ReadLine();
        }
    }
}

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


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

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

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