массивы. Лабораторная работа 8 Массивы Вариант 1 Выполнил Ст гр. 220692 Абросимов Владимир Вячеславович Проверил
Скачать 23.32 Kb.
|
"); Минимальные Элементы МИНОБРНАУКИ РОССИИ Федеральное государственное бюджетное образовательное учреждение высшего образования «Тульский государственный университет» Кафедра вычислительной техники Программирование Лабораторная работа 8 Массивы Вариант 1 Выполнил Ст. гр. 220692 Абросимов Владимир Вячеславович Проверил Доц каф ВТ Савин Николай Ильич Цель работы Научиться работать с массивами на языке C#. Ход работы 1 задание Заменить все элементы, попадающие в интервал [ a, b ], нулем. Для одномерного массива using System; namespace ConsoleApplication2 { class Program { static int [] Input () { Console.WriteLine("введите размерность массива"); int n=int.Parse(Console.ReadLine()); int []a=new int[n]; for (int i = 0; i < n; ++i) { Console.Write("a[{0}]= ", i); a[i]=int.Parse(Console.ReadLine()); } return a; } static void Print(int[] a) { for (int i = 0; i < a.Length; ++i) Console.Write("{0} ", a[i]); Console.WriteLine(); } static void Change(int[] a) { for (int i = 0; i < a.Length; ++i) if (a[i] > 0) a[i] = -a[i]; } static void Main() { int[] myArray=Input(); Console.WriteLine("Исходный массив:"); Print(myArray); Change(myArray); Console.WriteLine("Измененный массив:"); Print(myArray); } } } Для двумерного массива using System; namespace ConsoleApplication2 { class Program { static int [] Input () { Console.WriteLine("введите размерность массива"); int n=int.Parse(Console.ReadLine()); int []a=new int[n]; for (int i = 0; i < n; ++i) { Console.Write("a[{0}]= ", i); a[i]=int.Parse(Console.ReadLine()); } return a; } static void Print(int[] a) { for (int i = 0; i < a.Length; ++i) Console.Write("{0} ", a[i]); Console.WriteLine(); } static void Change(int[] a) { for (int i = 0; i < a.Length; ++i) if (a[i] > 0) a[i] = -a[i]; } static void Main() { int[] myArray=Input(); Console.WriteLine("Исходный массив:"); Print(myArray); Change(myArray); Console.WriteLine("Измененный массив:"); Print(myArray); } } } 2 Задание Заменить все максимальные элементы нулями. using System; namespace TestConsoleProject { class Program { static void Main() { const int len = 50; var array = new int[len]; var rand = new Random(DateTime.Now.Millisecond); for (var i = 0; i < len; i++) array[i] = rand.Next(1000); var max = array[0]; for (var i = 1; i < len; i++) if (array[i] > max) max = array[i]; for (var i = 0; i < len; i++) if (array[i] == max) array[i] = 0; for (var i = 0; i < len; i++) Console.Write(@"{0} ", array[i]); Console.ReadKey(); } } } 3 Задание Подсчитать среднее арифметическое четных элементов, расположенных ниже главной диагонали. using System; namespace TestConsoleProject { class Program { private static int[,] CreateMatrix(int dim, int minNum, int maxNum) { int[,] array = new int[dim, dim]; Random rnd = new Random(); for (int i = 0; i < dim; i++) { for (int j = 0; j < dim; j++) { array[i, j] = rnd.Next(minNum, maxNum); Console.Write(array[i, j] + " "); } Console.WriteLine(); } return array; } private static List { List for (int i = 1; i < matrix.GetLength(0); i++) { for (int j = 0; j < i; j++) { elementsBelowDiagonal.Add(matrix[i, j]); Console.Write(matrix[i, j] + " "); } } return elementsBelowDiagonal; } static void Main(string[] args) { int dim, min, max; do { Console.Clear(); Console.Write("Введите размерность матрицы: "); } while (!int.TryParse(Console.ReadLine(), out dim) || (dim < 2)); do { Console.Clear(); Console.WriteLine("Введите размерность матрицы: " + dim); Console.Write("Введите нижнюю границу значений для случайных элементов: "); int.TryParse(Console.ReadLine(), out min); Console.Write("Введите верхнюю границу значений для случайных элементов: "); int.TryParse(Console.ReadLine(), out max); } while (min >= max); int[,] matrix = CreateMatrix(dim, min, max); Console.WriteLine("\nЭлементы ниже главной диагонали: "); double average = GetElementsBelowDiagonal(matrix).Where(e => (e & 1) == 0).Average(); Console.WriteLine("\n\nСреднее арифметическое четных элементов, расположенных ниже главной диагонали:\n" + average); Console.ReadKey(); } } } 4 Задание Найти минимальный элемент в каждом столбце и записать данные в новый массив. using System; namespace TestConsoleProject { class Program { public static void Main(string[] args) { Console.Write("Сколько ступенек будет в массиве : "); int n = Convert.ToInt32(Console.ReadLine()); int[][] myArray_1 = new int[n][]; int[] minArray = new int[n]; Random rnd = new Random(); for(int i = 0; i< myArray_1.Length;i++) { Console.WriteLine(); myArray_1[i] = new int[i + 1]; for(int j = 0; j <= i; j++) { myArray_1[i][j] = rnd.Next(10); Console.Write(myArray_1[i][j]+" "); } } int min = 0; for(int i = 0; i < myArray_1.Length; i++) { min = myArray_1[i][0]; for(int j = 0; j <= i; j++) { if(min >= myArray_1[i][j]) min = myArray_1[i][j]; } minArray[i] = min; } Console.WriteLine("\n foreach(int value in minArray) Console.Write("{0} ", value); Console.ReadKey(); } } } Вывод Научились работать с массивами на языке C#. Тула 2019 г. |