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 |
|
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 |
|
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 |
|
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 |
|
2 | 3 | 5 | 12 | 23 | 56 | 17 | 15 | 34 | 9 |
2 | 3 | 5 | 9 | 23 | 56 | 17 | 15 | 34 | 12 |
Алгоритм выглядит следующим образом
Сортировка обменами.
Последовательно сравниваются два соседних элемента. Если аi<аi+1. никаких действий не предпринимается. Если аi>аi+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]);
}