Міністерство освіти і науки України
Національний університет „Львівська політехніка”
Інститут Комп’ютерних Технологій, Автоматики та Метрології
Кафедра КСА
/
Лабораторна робота №1
з дисципліни:
«Операційні системи»
Варіант: 18
Мета роботи
Реалізування простих консольних програм мовою С#.
Завдання
 	Створити кубічну матрицю - 
А
4х3х5
→С#[][,]. Відсортувати горизонтальну площини матриці методом вибору за зростанням. Обрахувати вектор добутків синусів елементів фронтальних площин.
Код програми
static void Sort(ref int[][,] Masiv, int n, int m, int l)
        {
            int Min, Kmin;
            for (int i = 0; i < m; i++)
            {
                for (int S = 0; S < n * l - 1; S++)
                {
                    Min = Masiv[S / l][i, S % l];
                    Kmin = S;
                    for (int K = S + 1; K < n * l; K++)
                    {
                        if (Min > Masiv[K/l][i,K%l])
                        {
                            Kmin = K;
                            Min = Masiv[K / l][i, K % l];
                        }
                    }
                    Masiv[Kmin / l][i, Kmin % l] = Masiv[S / l][i, S % l];
                    Masiv[S / l][i, S % l] = Min;
                }
            }
        }
        static void Vect(int[][,] Masiv, int n, int m, int l)
        {
            Console.WriteLine("Вектор добуткiв синусiв елементiв фронтальних площин:");
            double[] Vector = new double[n];
            for (int k = 0; k < n; k++)
            {
                Vector[k] = 1;
                for (int i = 0; i < m; i++)
                {
                    for (int j = 0; j < l; j++)
                    {
                        Vector[k] *= Math.Sin(Masiv[k][i, j]);
                    }
                }
                Console.Write(Vector[k].ToString() + " ");
            }
            Console.WriteLine();
        }
        static void Main(string[] args)
        {
            int n = 4, m = 3, l = 5;
            int[][,] Masiv = new int[n][,];
            for (int i = 0; i < n; i++)
            {
                Masiv[i] = new int[m, l];
            }
            /*System.IO.StreamReader File = new System.IO.StreamReader("input.txt");
            List<int> Size = File.ReadLine().Split().Select(int.Parse).ToList();
            Console.Write("Загрузка даних");
            System.Threading.Thread.Sleep(1000);
            Console.Write(".");
            System.Threading.Thread.Sleep(1000);
            Console.Write(".");
            System.Threading.Thread.Sleep(1000);
            Console.WriteLine(".");
            System.Threading.Thread.Sleep(1000);
            for (int k = 0; k < n; k++)
            {
                for (int i = 0; i < m; i++)
                {
                    for (int j = 0; j < l; j++)
                    {
                        Masiv[k][i, j] = Convert.ToInt32(File.ReadLine());
                    }
                }
            }*/
            for (int k = 0; k < n; k++)
            {
                for (int i = 0; i < m; i++)
                {
                    for (int j = 0; j < l; j++)
                    {
                        Console.Write("Введiть елемент масиву з координатами [{0}][{1},{2}]: ", k, i, j);
                        Masiv[k][i, j] = Convert.ToInt32(Console.ReadLine());
                    }
                }
            }
            Sort(ref Masiv, n, m, l);
            for (int i = 0; i < m; i++)
            {
                Console.WriteLine("Горизонтальна площина №" + i.ToString());
                for (int k = 0; k < n; k++)
                {
                    for (int j = 0; j < l; j++)
                    {
                        Console.Write(Masiv[k][i, j].ToString() + " ");
                    }
                    Console.WriteLine();
                }
            }
            Vect(Masiv, n, m, l);
            Console.ReadKey();
}
Скріншоти програми
/
/
Висновок
Отже, на цій лабораторній роботі я навчилася створювани прості консольні програми мовою С#.