Массивы можно передавать функции в качестве параметра. Но при этом
размер создаваемого массива может быть неопределен на момент компиляции
программы, поэтому функция не может знать размер полученного массива. Поэтому
при объявлении функции необходимо задавать два параметра: массив передаваемых
элемента (без указания размера массива) и размер массива. Например, функция
поиска наименьшего значения в массиве int A[n]
может быть объявлена так:
double Min (int A[], int n)
Соответственно, внутри функции main
мы объявляем массив int A[n]
и вызываем
функцию Min
, передав в качестве параметров массив A
и его размер n
:
Min (A, n);
Все решения задач необходимо оформлять в виде соответствующих функций.
Также программа должна содержать функцию main
, создающую и считывающую
массив и выводящую информацию о результате работы функции.
int Search (int A[], int n, int x)
, которая
находит в массиве int A[n]
элемент, значение которого равно x
.
Функция возвращает индекс найденного элемента или -1, если такого элемента в массиве нет.
Программа получает на вход количество элементов в массиве n,
затем n целых чисел – элементы массива, затем число x и должна вывести
индекс найденного элемента или число -1, если данный элемент в массиве отсутствует.
int CountMax (int A[], int n)
, которая подсчитывает,
сколько раз в массиве встречается значение, являющееся максимальным. Функция должна выполнять
однократный просмотр массива.
Программа получает на вход количество элементов в массиве n,
затем n целых чисел – элементы массива и должна вывести
единственное целое число – сколько раз в массиве встречается значение, равное максимальному.
int SecondMax (int A[], int n)
.
Функция должна выполнять однократный просмотр массива.
int SecondMax (int A[], int n)
, которая находит
второй по величине элемент в массиве – тот элемент, который будет наибольшим, если из
массива удалить наибольший элемент, то есть для массивов {1, 2, 3, 4}
и
{1, 2, 3, 3}
вторым по величине элементом будет 3. Функция должна выполнять
однократный просмотр массива.
int SecondMaxValue (int A[], int n)
, которая находит
второе по величине значение в массиве – значение элемента, который будет наибольшим, если из
массива удалить наибольший элемент и все ему равные, то есть для массива {1, 4, 3, 4}
вторым по величине значением будет 3.
Даны два отсортированных массива: int A[n]
и int B[m]
.
Объедините их в один отсортированный массив int C[n+m]
, то есть если
A={1, 4, 6, 7}
, B={2, 3, 5}
, то C={1, 2, 3, 4, 5, 6, 7}
.
Оформите алгоритм в виде функции void merge (int A[], int n, int B[], int m, int C[])
.
Время работы алгоритма должно быть порядка n+m действий.
Формат входных данных: число n, затем n возрастающих чисел – элементы первого массива, число m, затем m возрастающих чисел – элементы второго массива. Программа должна вывести n+m чисел, полученных объединением двух массивов в порядке возрастания.
Пример:
Вход 3 1 5 7 4 2 4 4 5 Выход 1 2 4 4 5 5 7
Например, для ввода
10 1 2 3 4 5 1 1 1 2 2
программа должна вывести
4 3 1 1 1 0 0 0 0
Например, для ввода
1 2 3 4 5 1 1 1 2 2 0
программа должна вывести
4 3 1 1 1 0 0 0 0
Дан массив целых чисел. Переставьте его элементы так, чтобы они шли в порядке неубывания. Выведите получившийся массив на экран.
Например, для ввода
5 1 3 5 2 1
программа должна вывести
1 1 2 3 5