Главная страница

Отчет Программирование на языке высокого уровня. разработка программного обеспечения на языке высокого уровня c#


Скачать 0.76 Mb.
Названиеразработка программного обеспечения на языке высокого уровня c#
Дата28.06.2022
Размер0.76 Mb.
Формат файлаdoc
Имя файлаОтчет Программирование на языке высокого уровня.doc
ТипПояснительная записка
#618163
страница4 из 7
1   2   3   4   5   6   7

Теоретические сведения


Массив – это набор однотипных данных, которые располагаются в памяти последовательно друг за другом. Доступ к элементам массива осуществляется по индексу (номеру) элемента. Массив может содержать элементы любого типа данных, можно даже создавать массив массивов (ступенчатый массив). Количество элементов в массиве называется размером массива. Массивы относятся к ссылочным типам данных.

Одномерный массив по-другому еще называется вектором, и для доступа к его элементам используется только один индекс.

Задание



В одномерном массиве, состоящем из п вещественных элементов, вычислить:

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();

}

}

}
1   2   3   4   5   6   7


написать администратору сайта