Контрольные вопросы для самопроверки

1. Как осуществляется описание двумерных массивов?

2.  Как осуществляется запись элементов двумерных массивов?

3.  Запишите фрагмент программы, который одновременно формирует матрицу с помощью функций формирования случайных чисел и выводит ее значение на экран для ввода элементов массива.

4.  Запишите фрагмент программы, который вычисляет сумму элементов матрицы.

5.  Запишите фрагмент программы, который находит минимальный элемент в матрице.

6. Запишите фрагмент программы, который находит минимальный элемент в каждой строке двумерного массива.



МЕТОДЫ СОРТИРОВОК

Упорядоченным (отсортированным) называется массив, значения элементов которого отвечают следующему условию:

a1≤ a2≤ a3... ≤ai ≤ai+1... ≤ an-1≤ an     (по возрастанию)

или

a1≥ a2≥ a3... ≥ai ≥ai+1... ≥ an-1≥ an          (по убыванию)

Существует целый ряд методов, позволяющих отсортировать имеющийся массив.

Сортировка выбором.

Найти элемент массива, имеющий наименьшее значение в исходном массиве. Переставить его с первым элементом.

Затем проделать то же самое, начав со второго элемента, затем с третьего  и т.д.

5 23 7 12 3 56 2 15 34 9

min =2  

 

5 23 17 12 3 56 2 15 34 9

2 23 17 12 3 56 5 15 34 9

 


2 23 17 12 3 56 5 15 34 9

min =3  

 

2 23 17 12 3 56 5 15 34 9

2 3 17 12 23 56 5 15 34 9

2 3 17 12 23 56 5 15 34 9

min =5  

 

2 3 17 12 23 56 5 15 34 9

2 3 5 12 23 56 17 15 34 9

2 3 5 12 23 56 17 15 34 9

min =9  

 

2 3 5 12 23 56 17 15 34 9

2 3 5 9 23 56 17 15 34 12

 

Алгоритм выглядит следующим образом

 




Сортировка обменами.

Последовательно сравниваются два соседних элемента. Если аii+1. никаких действий не предпринимается. Если аii+1. меняются местами аi и аi+1. В результате одного прохода вдоль массива самый большой элемент окажется на последнем месте. Возобновляется просмотр с начала уменьшая на единицу количество просматриваемых элементов.

Так до тех пор, когда элементы будут упорядочены

5 23 7 12 3 56 2 15

5 7 23 12 3 56 2 15
5 7 12 23 3 56 2 15

5 7 12 3 23 56 2 15

5 7 12 3 23 2 56 15
5 7 12 3 23 2 15 56

Алгоритм выглядит следующим образом

 

Текст программы

Void main()

 {

float a[30],dop;

int n,i,k, f=1;

 

n=10;

printf("\n исходный массив\n ");

 

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

{

a[i]=0.001*rand();

printf("%5.1f",a[i]);

}

while(f==1)

{

f=0;

for (i=0;i<n-1;i++)

if (a[i]>a[i+1]) {dop=a[i];

            a[i]=a[i+1];

            a[i+1]=dop;

            f=1;

                }

 

}

printf("\n отсортированный массив\n ");

   

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

 printf("%5.1f",a[i]);

}


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: