Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Обработка нескольких массивов одновременно



Если обрабатываются несколько массивов одновременно, то для каждого массива нужно выбрать подходящую схему перебора, завести свой индекс, следить, чтобы индекс не вышел за границы массива. В некоторых частных случаях для обработки нескольких массивов бывает достаточно одного индекса, потому что элементы массива обрабатываются «синхронно», то есть, зная индекс элемента одного массива, можно вычислить по некоторой формуле индекс соответствующего ему элемента другого массива. Если такой формулы установить не удается, то говорят, что массивы обрабатываютя «асинхронно».

Пример: Дан массив целых чисел. Необходимо сформировать второй массив, содержащий четные элементы первого массива, при этом расположить элементы во втором массиве:

а) на тех же позициях, что и в первом;

б) сдвинуть к началу массива.

Решение:

Вариант 1:

const nn = 30;

var a, b: array [1..n] of integer;

i, n: integer;

begin

write (‘задайте количество элементов массива’);

readin (n);

for i: = 1 to n do

begin

read (a[i]);

if a[i] mod 2 = 0 then b[i]: = a[i];

End;

for i: = 1 to n do

write (b[i],”);

End.

Вариант 2.

const nn = 30;

var a, b: array [1..n] of integer;

i, k, n: integer;

begin

write (‘задайте количество элементов массива’);

readln (n);

for i: = 1 to n do

read (a[i]);

k: = 0; {в массиве b нет ещё элементов}

for i: = 1 to n do

if a[i] mod 2 = 0 then begin

k: = k + 1;

b[k]: = a[i];

end;

for i: = 1 to k do

write (b[i], “);

End.





Дата публикования: 2015-02-22; Прочитано: 263 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...