Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПргЯВУ_ЛК_СтефановаИА.doc
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
4.41 Mб
Скачать

Сортировка массива

Под сортировкой массива подразумевается процесс перестановки элементов массива, с целью размещения элементов массива в определенном порядке.

Например, для целых чисел А после сортировки по возрастанию должно выполняться условие:

A[1]  A[2]  A[3]  . . .  A[size], где size – верхний индекс

Алгоритм сортировки:

1. Просмотреть массив от 1 элемента, найти min элемент и поместить его на место 1 элемента, а 1-й на место min.

2. Просмотреть массив от 2 элемента, найти min элемент в этой части массива и поместить его на место 2 элемента, а 2-й на место min.

3. И так далее до последнего элемента.

Элементы массива А

A [ 1 ]= 2

A[ 2 ]= 6

A[ 3 ]= -5

A[ 4 ]= 3

A[ 5 ]= 20

A[ 6 ]= -10

A[ 7 ]= 8

A[ 8 ]= 0

A[ 9 ]= 9

A[ 10 ]= -2

С ортировка массива

-10 6 -5 3 20 2 8 0 9 -2

-10 -5 6 3 20 2 8 0 9 -2

-10 -5 -2 3 20 2 8 0 9 6

-10 -5 -2 0 20 2 8 3 9 6

-10 -5 -2 0 2 20 8 3 9 6

-10 -5 -2 0 2 3 8 20 9 6

-10 -5 -2 0 2 3 6 20 9 8

-10 -5 -2 0 2 3 6 8 9 20

-10 -5 -2 0 2 3 6 8 9 20

Отсортированный массив

-10 -5 -2 0 2 3 6 8 9 20

Задача3. Отсортировать массив целых чисел по возрастанию.

s tatic void Main(string[] args)

{

int[] A = new int[10]{2, 6, -5, 3, 20, -10, 8, 0, 9, -2};

// одномерный массив А из 10 целых чисел

int min; // минимальный элемент

int buf; // буфер для обмена элементами

int i,j,k; //счетчики цикла

for (i = 0; i < 10; i++)

Console.WriteLine("A[" + i + "]=" + A[i]);

Console.WriteLine();

Console.WriteLine("Сортировка массива");

Console.WriteLine();

for (i = 0; i < 9 ; i++)

{

min=i;

for (j = i+1; j < 10; j++)

if (A[j]<A[min]) min=j;

buf=A[i];

A[i]=A[min];

A[min]=buf;

for (k = 0; k < 10; k++)

Console.Write(" " + A[k]);

Console.WriteLine();

}

Console.WriteLine();

Console.WriteLine("Массив отсортирован ");

Console.WriteLine();

for (k = 0; k < 10; k++)

Console.Write(" " + A[k]);

Console.ReadKey();

}

11.2. Расчет статистических показателей

Задача4. Рассчитать суммарное и среднее значение элементов заданного массива.

int[] N = {99, 10, 100, 18, 78, 23, 63, 9, 87, 49};

// одномерный массив А из 10 целых чисел

int sum=0; // суммарное значение

double avg; // среднее значение

for (int i = 0; i < 10; i++)

sum = sum + N[i];

avg=(double)sum/10;

Console.WriteLine("Сумма: "+ sum);

Console.WriteLine();

Console.WriteLine("Среднее: "+ avg);

Console.ReadKey();

int[,] N = {{-99,10,50,18},{78,-23,63,9},{87,49,-55,10},{16,8,95,-16}};

// двумерный массив N из 4x4 целых чисел

int c = 0; // счетчик для подсчета количества элементов

Console.WriteLine("Матрица N[4,4] целых чисел");

Console.WriteLine(); // Вывод матрицы

for (int i = 0; i < 4; i++)

{

for (int j = 0; j < 4; j++)

Console.Write(N[i, j].ToString("D2") + " "); // D2 – два десятичных элемента

Console.WriteLine();

}

Console.WriteLine();

int sum = 0; // суммарное значение

double avg; // среднее значение

for (int i = 0; i < 4; i++)

for (int j = 0; j < 4; j++)

{

sum = sum + N[i,j];

c=c+1;

}

avg = (double)sum / с;

Console.WriteLine("Результаты");

Console.WriteLine();

Console.WriteLine("Сумма: " + sum);

Console.WriteLine("Среднее: " + avg);

Console.ReadKey(); // Пауза