Файл: Особенности и примеры использования массивов при разработке программ.pdf
Добавлен: 28.03.2023
Просмотров: 91
Скачиваний: 2
СОДЕРЖАНИЕ
1. Определение и типы массивов
2. Основные операции обработки массивов
2.1 Определение размерности массива, заполнение массива
2.3 Поиск требуемого элемента в массиве
2.5 Сортировка элементов массива
3. Особенности обработки двумерных массивов
4. Обработка квадратных матриц
4.1 Определение диагоналей массива
(i%2)==0
определяет парную позицию (парный индекс) массива B. Если нужно взять нечетные позиции, то нужно написать
(i%2)==1
3. Сортировка массива методом вставки
Пример. Пусть дан массив A, содержащий 10 целых чисел. Отсортировать элементы массива в нисходящем порядке с помощью метода вставки.
// сортировка массива методом вставки
int A[10];
int i, j; // дополнительные переменные - счетчики
int t; // дополнительная переменная
// ввод массива A
// ...
// сортировка
for (i=0; i<9; i++)
for (j=i; j>=0; j--)
if (A[j]<A[j+1])
{
// поменять местами A[j] и A[j+1]
t = A[j];
A[j] = A[j+1];
A[j+1] = t;
}
4. Поиск элемента в массиве. Примеры
Пример 1. Определить, находится ли число k в массиве M состоящем из 50 целых чисел.
// определение наличия заданного числа в массиве чисел
int M[50];
int i;
int k; // искомое значение
bool f_is; // результат поиска, true - число k есть в массиве, иначе false
// ввод массива M
// ...
// ввод числа k
// ...
// поиск числа в массиве
f_is = false;
for (i=0; i<50; i++)
if (k==M[i])
{
f_is = true; // число найдено
break; // выход из цикла, дальнейший поиск не имеет смысла
}
// вывод результата
if (f_is)
label1->Text = "Число " + k.ToString() + " есть в массиве M.";
else
label1->Text = "Числа " + k.ToString() + " нет в массиве M.";
Пример 2. Найти все позиции вхождения числа k в массиве M состоящим из 50 целых чисел.
// определение всех позиций заданного числа в массиве чисел
int M[50]; // массив чисел
int i; // вспомогательная переменная
int k; // искомое значение
int INDEXES[50]; // искомый массив позиций вхождения числа k
int n; // количество найденных позиций или количество элементов в массиве INDEXES
// ввод массива M
// ...
// ввод числа k
// ...
// поиск числа k в массиве M и одновременное формирование массива INDEXES
n = 0;
for (i=0; i<50; i++)
if (k==M[i])
{
// число найдено
n++;
INDEXES[n-1] = i;
}
// вывод результата в listBox1
listBox1->Items->Clear();
for (i=0; i<n; i++)
listBox1->Items->Add(INDEXES[i].ToString());
Заключение
В курсовой работе рассмотрены методы обработки массивов. Этот вопрос очень актуален в наше время, потому что в настоящее время размер обрабатываемых данных постоянно увеличивается.