laba5
.pdfwrite(A[i]:3); writeln;
end; {Конец процедуры PrintArray}
{Основная часть программы} begin
{1 - ввод массива}
ReadArray;
{2 - поиск индекса минимального элемента}
FindlndMin;
{3 - удаление элемента}
DeleteMin;
{4 - вывод массива}
PrintArray;
end. {Конец программы SimpleProcedureExample}
5.2 Выполнение работы
Задание 1. Необходимо ввести три одномерных массива А[nА], В[nВ], С[nС]. Требуется определить, в каком из массивов среднее арифметическое элементов больше.
Подсказка: При решении этой задачи необходимо трижды описать ввод массивов (отдельно для массива А, массива В и массива С) и трижды описать вычисление среднего арифметического. Итого - 6 подпрограмм. Причем алгоритмов только 2 - ввод массива и вычисление среднего арифметического.
Можно попытаться обойти эту проблему - для этого нужно определить процедуру ввода некоего абстрактного массива, затем трижды вызвать эту процедуру и скопировать введенный абстрактный массив в массивы А, В и С соответственно. Одновременно с массивом нужно копировать количество элементов в массиве - соответственно это nА, nВ и nС.
Аналогично нужно определить функцию вычисления среднего арифметического для абстрактного массива. Перед вызовом этой функции абстрактному массиву нужно присвоить требуемый массив - по очереди А, В и С. Одновременно с массивом нужно копировать количество элементов в массиве - соответственно это nА, nВ и nС.
5.3 Задания для самостоятельной работы
Условия выполнения:
Во всех задачах требуется написать, отладить и протестировать программу, обеспечивающую выполнение следующих действий:
Заполнить массив с помощью генератора псевдослучайных чисел (А[М],
1<=M<=20).
Вывод исходного, то есть только что введенного, массива.
Обработка массива в соответствии с заданием.
Вывод параметров массива, которые требуется найти по заданию.
Например, в задаче требуется найти и удалить максимальный элемент массива. В этом случае перед удалением требуется вывести значение и индекс найденного максимального элемента.
Вывод массива после внесенных изменений.
Необходимо до минимума сократить использование глобальных переменных.
При обработке вспомогательными массивами по возможности не пользоваться.
№ варианта |
Задание |
|
|
В массиве все четные элементы увеличить в 2 раза. |
|
1 |
Пример: из массива А[5]: 1 3 4 5 6 должен получиться массив 1 3 8 5 |
|
|
12. |
|
|
Из массива удалить первый из четных элементов. |
|
2 |
Пример: из массива А[5]: 1 3 4 5 6 должен получиться массив А[4]: 1 3 |
|
|
5 6. |
|
|
В массиве все четные элементы, стоящие левее минимального, |
|
3 |
уменьшить в 2 раза. |
|
|
Пример: из массива А[5]: 3 2 1 0 4 должен получиться массив 3 1 1 0 4. |
|
|
После последнего кратного четырем элемента вставить 0. |
|
4 |
Пример: из массива А[5]: 1 3 8 3 4должсн получиться массив А[6]: 1 3 |
|
|
8 3 4 0. |
|
|
В массиве все нечетные элементы, стоящие после максимального, |
|
5 |
увеличить в 10 раз. |
|
Пример: из массива А[5]: 3 7 1 5 4должсн получиться массив 3 7 10 50 |
||
|
||
|
40. |
|
|
Из массива удалить последний из четных элементов. |
|
6 |
Пример: из массива А[5]: 13 4 5 6 должен получиться массив А[4]: 13 |
|
|
4 5. |
|
|
В массиве все элементы, стоящие после максимального, уменьшить на |
|
7 |
1. |
|
|
Пример: из массива А[5]: 3 2 1 5 4 должен получиться массив 3 2 1 5 3. |
|
|
Из массива удалить последний из нечетных элементов. |
|
8 |
Пример: из массива А[5]: 13 4 5 6 должен получиться массив А[4]: 1 3 |
|
|
4 6. |
|
|
В массиве все элементы, стоящие перед максимальным, увеличить в 3 |
|
9 |
раза. |
|
|
Пример: из массива А[5]: 3 2 1 5 4 должен получиться массив 9 6 3 5 4. |
|
|
Из массива удалить первый из нечетных элементов. |
|
10 |
Пример: из массива А[5]: 1 3 4 5 6 должен получиться массив А[4]: 3 4 |
|
|
5 6. |
|
|
В массиве все элементы, стоящие после минимального, уменьшить на |
|
11 |
10. |
|
Пример: из массива А[5]: 3 2 1 5 6 должен получиться массив 3 2 1 -5 - |
||
|
||
|
4. |
|
|
После последнего нечетного элемента вставить 0. |
|
12 |
Пример: из массива А[5]: 1 3 8 3 5 должен получиться массив А[6]: 1 3 |
|
|
8 3 5 0. |
|
13 |
В массиве все четные элементы, стоящие между нечетными, |
|
уменьшить в 2 раза. |
|
Пример: из массива А[5]: 1 3 45 6 должен получиться массив 1 3 2 5 6. |
|
После максимального из четных элементов вставить 0. |
14 |
Пример: из массива А[5]: 1 9 8 3 5 должен получиться массив А[6]: 1 9 |
|
8 0 3 5. |
|
В массиве все элементы, правее которых стоит четный элемент, |
15 |
уменьшить на 2. |
|
Пример: из массива А[5]: 13 4 5 6 должен получиться массив 1 1 4 3 6. |
|
После первого четного элемента вставить 0. |
16 |
Пример: из массива А[5]: 1 6 8 3 4 должен получиться массив А[6]: 1 6 |
|
0 8 3 4. |
|
В массиве все элементы, правее которых стоит нечетное значение, |
17 |
заменить на 0. |
|
Пример: из массива А[5]: 1 3 4 5 6 должен получиться массив 0 3 0 5 6. |
|
Удалить максимальный из четных элементов. |
18 |
Пример: из массива А[5]: 2 3 4 7 5 должен получиться массив А[4]: 2 3 |
|
7 5. |
|
В массиве все нечетные элементы увеличить на 10. |
19 |
Пример: из массива А[5]: 1 3 4 5 6 должен получиться массив 1 13 4 15 |
|
6. |
|
Удалить максимальный из кратных трем элементов. |
20 |
Пример: из массива А[5]: 2 3 4 7 5 должен получиться массив А[4]: 2 4 |
|
7 5. |
|
Из массива удалить второй из четных элементов. |
21 |
Пример: из массива А[5]: 1 3 4 5 6 должен получиться массив А[4]: 1 3 |
|
4 5. |
Дополнительное задание:
Напишите функцию вычисляющую произведение максимальных элементов каждой строки прямоугольной матрицы размером mхn (4< m, n <20). С помощью данной функции в основной программе найдите указанные значения для трех массивов и выведите их на экран.