Типовые алгоритмы обработки одномерных массивов

· Поэлементный ввод массива:
for i:=1 to n do
begin write (‘A[‘,i,’]=’); readln(A[i]); end;

· Поэлементный вывод массива (в столбец):
for i:=1 to n do
writeln (‘A[‘,i,’]=’, A[i]);

· Формирование массива случайными элементами из диапазона [a,b].
for i:=1 to n do
A[i]:= random(a+b) - a;

· Поиск минимального элемента:
min:= A[1];
for i:=2 to n do
if A[i] < min then min:= A[i];

· Перестановка элементов на четных и нечетных местах:
for i:=1 to n div 2 do
begin p:= A[2*i -1];
A[2*i -1]:= A[2*i];
A[2*i]:= p;
end;

· Нахождение суммы значений всех элементов массива:
s:=0;
for i:=1 to n do
s:= s + A[i];

· Сортировка элементов массива в порядке возрастания значений:
for i:=1 to n-1 do
begin for j:=1 to n- i do
if A[j] <= A[j+1] then
begin P:= A[j]; A[j]:= A[j+1]; A[j+1]:= P; end;
end;

Задания:

1. Записать в виде программы на языке Паскаль:
Ввести в память массив и вывести его на экран: S(N), N=3.

2. Дан массив В(N), N=7. Найти сумму значений элементов, стоящих в массиве на четных местах.

3. Дан массив D(N), N=10. Найти сумму значений элементов массива, которые удовлетворяют условию -10< D[i] < 20. Замените элементы массива, значения которых являются отрицательными числами, числом 100. Полученные результаты выведите на экран.
4. Дан массив F(N), N=10. Найти сумму таких элементов массива, значения которых не равны 33. Подсчитайте, сколько раз в массиве встречаются элементы, значения которых равны 33.

5. Дан массив R(N), N=8. Значения элементов данного массива увеличьте в два раза и поместите их в новый массив S(N). Подсчитайте, сколько раз в массиве R встречаются элементы, значения которых являются отрицательными числами. Полученные результаты выведите на экран.

6. Ввести массив А(N), N=7. Определите порядковый номер элемента, значение которого равно 49. Поменяйте местами элемент, значение которого равно 49, и первый элемент массива. Полученные результаты выведите на экран.

7. Дан массив R(N), N=10. Подсчитать количество элементов массива, значения которых кратны 2. Заменить элементы массива, значения которых являются отрицательными числами, числом 111.

8. Дан массив К(N), N=12. Известно, что в массиве есть один элемент, значение которого равно 100. Определить его порядковый номер. Вычислить сумму значений элементов массива, стоящих в массиве перед элементом, значение которого равно 100.

9. Дан массив А(N), N=12. Найти среднее арифметическое значений элементов, стоящих в массиве на нечетных местах. Значение среднего арифметического округлить до сотых. Заменить средним арифметическим элементы массива, значения которых кратны 3.

10. Дан массив С(N), N=10. Поменять местами наибольший и наименьший элементы.

11. В одномерном массиве все отрицательные элементы переместить в начало массива, а остальные – в конец с сохранением порядка следования. Дополнительный массив заводить не разрешается.
12. Задан массив, содержащий несколько нулевых элементов. Сжать его, выбросив эти элементы.

13. В массиве хранится информация о годе рождения каждого из 30 человек. Определить года рождения двух самых старших по возрасту людей (при определении возраста месяц и дату рождения не учитывать).

14. В массиве имеются только два одинаковых элемента. Найти их.


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



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