Обработка элементов массива

Начать. Это бесплатно
или регистрация c помощью Вашего email-адреса
Обработка элементов массива создатель Mind Map: Обработка элементов массива

1. Поиск элементов с заданными свойствами

1.1. Определить, есть ли хотя бы один элемент, удовлетворяющий условию

1.1.1. Program Primer9 1; Const h: array[1..12] of integer= (160, 154, 170, 160, 172, 181, 170, 175, 152, 157, 155, 168); Var i, k: integer; Begin k:=0; {Начальное значение k} for i:=l to 12 do {Просмотр массива} if h[i] = 172 then k:=i; if k>0 then writeln('Номер ученика по списку =',k) {Вывод} else writeln('Ученика с таким ростом нет'); End.

1.2. Найти номер по списку (индекс) элемента или сам элемент

1.2.1. Program Primer9_2; Const h: array[1..12] of integer = (160, 154, 170, 160, 172, 181, 170, 175, 152, 157, 155, 168); Var i: integer; Begin for i:=l to 12 do {Просмотр массива} if h[i]>170 then writeln ('Ученик под номером ', i, ' с ростом ', a[i]) ; End.

1.3. Определить количество элементов, удовлетворяющий условию

1.3.1. Program Primer9_3; Const h: array[1..12] of integer = (160, 154, 170, 160, 172, 181, 170, 175, 152, 157, 155, 168); Var i, k: integer; Begin k:=0; {Начальное значение k} for i:=l to 12 do {Просмотр массива} if h[i]>170 then k:=k+l; {Подсчет k} writeln ('Таких учеников ', k) ; End.

1.4. Найти максимальный (минимальный) элемент

1.4.1. Program Primer9_4; Var A: array[1..7] of integer; max, k, i: integer; Begin for i:=1 to 7 do A[i] : = random(51) ; {Формирование массива} max:=A[1]; k:=1; {Начальные значения max и k} for i:=2 to 7 do {Просмотр массива} if A[i]>max then {Условие поиска максимума} begin max:=A[i]; k:=i; {Присвоение значений max и k} end; writeln('Максимальный элемент A[', k, '] = ', max); {Вывод максимума} for i:=l to 7 do write (a [i] : 4) ; {Вывод всех чисел} End.

2. Арифметические действия над элементами массива

2.1. Сумма элементов массива

2.1.1. S:=0; {начальное значение суммы} for i:=m to n do S:=S+A[i]; {вычисление суммы} writeln('сумма элементов = ',S); {вывод суммы}

2.2. Произведение элементов массива

2.2.1. P:=1; {начальное значение произведения} for i:=m to n do P:= P * A[i]; {вычисление произведения} writeln('произведение элементов = ',P); {вывод произведения}

2.3. Вычисление среднего значения

2.3.1. S:=0; {начальное значения суммы} for i:=m to n do S:=S+A[i]; {вычисление суммы баллов} Sred:=S/k; {вычисление среднего значения Sred :real !!!} writeln('среднее значение = ', Sred:4:2); {форматированный вывод}

2.4. Сумма положительных чисел

2.4.1. S:=0; for i:=m to n do if A[i]>0 then S:=S+A[i]; {вычисление суммы положительных чисел} writeln('сумма положительных чисел = ',S); {вывод суммы}

2.5. Чтобы вычислялась сумма чисел, кратных N

2.5.1. Различия состоят в условиях вычисления суммы, например, if A[i] mod 2 = 0 then… {четные числа} if A[i] mod 2 = 1 then… {нечетные числа} if A[i] mod N = 0 then…{числа, кратные N}……

3. Преобразование элементов массива

3.1. Изменение элементов массива в зависимости от условий

3.1.1. положительные элементы увеличить в 2 раза, а отрицательные — заменить квадратом индекса

3.1.1.1. for var i := 1 to n do begin if a[i] > 0 then a[i] := a[i] * 2; if a[i] < 0 then a[i] := i * i; end;

3.2. Обмен местами элементов массива

3.2.1. buf := a[i]; a[i] := a[k]; a[k] := buf;

3.3. Удаление элемента из массива

3.3.1. for var i := k + 1 to n do a[i-1] := a[i]; n := n - 1;

3.4. Вставка элемента в массив

3.4.1. for var i:= n downto k do a[i+1] := a[i]; //вставка x на место k a[k] := x; n := n + 1;