Некоторые алгоритмы
обработки массивов
1 Суммирование двух массивов одинакового размера
2 Суммирование элементов массива
3 Определение числа элементов массива, удовлетворяющих заданному условию
4 Суммирование элементов массива, удовлетворяющих заданному условию
5 Инвертирование массива
6 Формирование массива из элементов другого массива, удовлетворяющих заданному условию
7 Поиск максимального (минимального) элемента в массиве с запоминанием его положения в массиве
8 Поиск заданного элемента в массиве
9 Циклический сдвиг элементов массива
10 Упорядочение Массива
1 Суммирование двух массивов одинакового размера
Задано : массивы A =(a1,a2,...,an) , B =(b1,b2,...,bn).
Сформировать: массив C =(c1,c2,...,cn) , где Сi = Ai+Bi; i=1,2,...,n.
Задача сводится к организации цикла по i и вычислению Ci=Ai+Bi при каждом значении i от 1 до n.
Исходные данные:
N- размер массива;
A, B - массивы слагаемые размером N;
Результат: массив С - размером N;
Вспомогательные переменные: I - индекс - управляющая переменная цикла.
Procedure SUM_MAS (n : integer; A,B :mas; var C : mas);
{ где mas должен быть описан в главной программе в разделе описания типов , например так :
type mas = array[1..100 ] of real ;
тогда это будет процедура для суммирования двух одномерных массивов размером не более 100 элементов }
begin
for i := 1 to n do C[i] := A[i]+B[i];
end;
2 Суммирование эле ментов массива
Задано: массив P = (P1,P2,...,Pn) .
Определить: сумму элементов массива.
Исходные данные:
N - размер массива;
P - массив размером N;
Результат: S - сумма элементов;
Вспомогательная переменная: I - индекс - управляющая переменная цикла.
Procedure SUMMA (n : integer; A :mas; var S : real );
{ процедура для суммирования элементов одномерного массива }
begin S:=0; { обнуление переменной под сумму }
for i := 1 to n do S := S+P[i]
end;
3 Определ ение числа элементов массива, удовлетворяющих заданному условию
Задано: массив P = (P1,P2,...,Pn); T - заданное число.
Определить: сколько элементов удовлетворяет заданному условию, например Pi > T .
Исходные данные:
N - размер массива;
P - массив размером N;
T - заданное значение, с которым сравниваются элементы массива.
Результат: K - число элементов массива P, удовлетворяющих условию.
Вспомогательная переменная: I- индекс - управляющая переменная цикла.
Procedure USLOVIE ( n : integer; P :mas; T: real; var K : integer);
{процедура определения числа элементов, удовлетворяющих условию}
begin
k := 0; { обнуление переменной под счетчик чисел }
for i := 1 to n do if P[ i ] > T then k := k+1
end;
4 Суммирова ние элементов массива, удовлетворяющих заданному условию
Задано: массив P = (P1,P2,...,Pn); T - заданное число.
Определить: сумму элементов массива P, удовлетворяющих заданному условию, например Pi > T .
Исходные данные:
N - размер массива;
P - массив размером N;
T - заданное значение, с которым сравниваются элементы массива;
Результат: S - сумма элементов массива P, удовлетворяющих условию.
Вспомогательная переменная : I - индекс - управляющая переменная цикла.
Procedure SUM_USLOV ( n : integer; P :mas; T: real; var S : real);
{процедура определения суммы элементов, удовлетворяющих условию}
begin S := 0; {обнуление переменной под сумму элементов}
for i := 1 to n do if P [ i ] > T then S := S+1
end;
5 Инв ертирование массива
Задано: массив C=(c1,c2,...,cn).
Требуется: изменить порядок следования элементов массива C на обратный, используя одну вспомогательную переменную.
Исходные данные:
N - размер массива;
C - массив размером N;
Результат:
C - инвертированный массив;
Вспомогательные переменные:
I -индекс, управляющая переменная цикла;
M=n/2 - вычисляется до входа в цикл для уменьшения объема вычислений; P - используется при перестановке двух элементов массива.
Procedure INVER_MAS ( n : integer; C :mas; var C : mas);
Var m : integer; p : real; { локальные переменные }
begin m := n div 2 ; { целочисленное деление }
for i := 1 to m do
begin p := C[ i ]; C[i] := C[N-i+1]; C[N-i+1] := p end;
end;
6 Формирование массива из элементов другого массива, удовлетворяющих заданному условию
Задано: массив A=(a1,a2,...,an), T - заданное число.
Сформировать: массив B=(b1,b2,...,bn), состоящий из элементов массива, удовлетворяющих условию Ai>T.
Заметим, т .к. индексы элементов массивов A и B не совпадают (не все элементы массива Ai>T), то для обозначения индексов массива B должна быть предусмотрена другая переменная.
Исходные данные:
Наверняка у вас есть товары или услуги, продажа которых приносит вам максимальную прибыль. Для быстрого старта в сети вам необходимо создание посадочной страницы (одностраничного сайта), на которой будет размещена информация о маржинальных товарах/услугах интернет магазина. За 8 лет опыта разработки конверсионных страниц мы выработали оптимальную структуру, которая позволит привлекать через landing page больше продаж. На такую структуру «одевается» ваш контент — фирменный стиль, тексты, фотографии, уникальные торговые предложения, после чего страница выходит в свет. Разработка лендинга и запуск в сети — до 7 рабочих дней. Стоит отметить, что в разработку самой посадочной страницы входит и написание копирайтером продающих текстов для вашего бизнеса, чтобы каждый посетитель страницы захотел совершить покупку именно у вас. Результат: качественно разработаная продающая посадочная страница, которая готова приносить вам новых клиентов.