Отчет Программирование на языке высокого уровня. разработка программного обеспечения на языке высокого уровня c#
Скачать 0.76 Mb.
|
Теоретические сведенияМассив – это набор однотипных данных, которые располагаются в памяти последовательно друг за другом. Доступ к элементам массива осуществляется по индексу (номеру) элемента. Массив может содержать элементы любого типа данных, можно даже создавать массив массивов (ступенчатый массив). Количество элементов в массиве называется размером массива. Массивы относятся к ссылочным типам данных. Одномерный массив по-другому еще называется вектором, и для доступа к его элементам используется только один индекс. ЗаданиеВ одномерном массиве, состоящем из п вещественных элементов, вычислить: 1) номер минимального элемента массива; 2) сумму элементов массива, расположенных между первым и вторым отрицательными элементами. Преобразовать массив таким образом, чтобы сначала располагались все элементы, модуль которых не превышает 1, а потом — все остальные. Листинг (исходный код программы)using System; namespace ConsoleApp3 { class Program { static void Main(string[] args) { int k=0; int s = 0; double sum = 0; int n = 10; double[] m = new double[] { 1, 6, 2, -1, 5, 2, 9, -2, 4, 2 }; double min = m[0]; for (int i = 0; i < n; i++) { if (m[i] { min = m[i]; k = i; } } Console.Write("Исходный массив массив = "); for (int i = 0; i < n; i++) { Console.Write(m[i] + " "); } k++; Console.WriteLine("Номер минимального элемента = " + k); //2 задание { 1, 6, 2, -10, 5, 2, 9, -2, 4, 2 }; for (int i = 0; i < n; i++) { if (m[i] < 0 && s==0) { s= 1; } else if (m[i] > 0 && s == 1) { sum += m[i]; } else if (m[i] < 0 && s == 1) { break; } } Console.WriteLine("Суммаэлементов массива, расположенных между первым и вторым отрицательными элементами = " + sum); //3 задание for (int i = 0; i < n-1; i++) { for (int j = n - 2; j > 0; j--) { if (Math.Abs(m[j]) == 1) { double temp = m[j]; m[j] = m[j - 1]; m[j - 1] = temp; } } } Console.Write("Новый массив массив = "); for (int i = 0; i < n; i++) { Console.Write(m[i] + " "); } Console.ReadLine(); } } } Результат работы программыРисунок 9 – Результаты работы программы 4 Двумерные массивыЦель: Изучить способы задания двумерных массивов и методы работы с ними. Теоретические сведенияПростейшей формой многомерного массива является двумерный массив. Местоположение любого элемента в двумерном массиве обозначается двумя индексами. Такой массив можно представить в виде таблицы, на строки которой указывает один индекс, а на столбцы — другой. Если вам приходилось раньше программировать на С, С++ или Java, то будьте особенно внимательны, объявляя или организуя доступ к многомерным массивам в С#. В этих языках программирования размеры массива и индексы указываются в отдельных квадратных скобках, тогда как в С# они разделяются запятой. ЗаданиеХарактеристикой столбца целочисленной матрицы назовём сумму модулей его отрицательных нечётных элементов. Переставляя столбцы заданной матрицы, расположить их в соответствии с ростом характеристик. Найти сумму элементов в тех столбцах, которые содержат хотя бы один отрицательный элемент. Листинг (исходный код программы)using System; using System.Collections.Generic; namespace ConsoleApp4 { class Program { static void Main(string[] args) { int sum = 0; const int n = 5; int[] arr = new int[n]; int[,] matrix = new int[n, n]; Random rn = new Random(); Console.WriteLine("Matrix исходный"); for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { matrix[i, j] = rn.Next(6) - 4; if (matrix[i, j]>=0) { Console.Write(" " + matrix[i, j] + " "); }else { Console.Write(matrix[i, j] + " "); } } Console.WriteLine(); } Console.WriteLine(); for (int i = 0; i < n; i++) { sum = 0; for (int j = 0; j < n; j++) { if (matrix[j, i] < 0 && matrix[j, i] % 2 != 0) { sum += Math.Abs(matrix[j, i]); } } arr[i] = sum; Console.WriteLine("Сумма столбца " + i + " = " + sum); } int min,m; for (int k = 0; k < n-1; k++) { min = arr[k]; m = k; for (int j=k+1; j < n; j++) { if (arr[j] < min) { min = arr[j]; m = j; } } int b = arr[k]; arr[k] = arr[m]; arr[m] = b; for(int i = 0; i < n; i++) { int a = matrix[i, k]; matrix[i, k] = matrix[i, m]; matrix[i, m] = a; } } Console.WriteLine(); Console.WriteLine("Matrix после сортировки"); for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { if (matrix[i, j] >= 0) { Console.Write(" " + matrix[i, j] + " "); } else { Console.Write(matrix[i, j] + " "); } } Console.WriteLine(); } Console.ReadLine(); } } } |