Міністерство освіти і науки України
Національний університет „Львівська політехніка”
Інститут Комп’ютерних Технологій, Автоматики та Метрології
Кафедра КСА
/
Лабораторна робота №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();
}
Скріншоти програми
/
/
Висновок
Отже, на цій лабораторній роботі я навчилася створювани прості консольні програми мовою С#.