Действия с одномерными массивами — КиберПедия 

Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...

Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...

Действия с одномерными массивами

2017-10-17 308
Действия с одномерными массивами 0.00 из 5.00 0 оценок
Заказать работу

При обработке массивов часто требуется вычислить сумму элементов массива, их среднее арифметическое значение или найти значение и номер максимального и минимального элементов, а также изменить значения элементов массива.

Условимся, что в векторе a содержится n элементов.

{ Вычислим сумму элементов:}

s:= 0;

for i:= 1 to n do

s:= s + a[i];

{ Вычислим произведение элементов:}

р:= 1;

for i:= 1 to n do

р:= р*a[i];

{ Подсчитаем количество четных элементов:}

k:= 0;

for i:= 1 to n do

if a[i] mod 2 = 0 then

k:= k + 1;

{ Найдем номер первого из элементов массива, имеющего нулевое значение. Если такого элемента нет, то выведем соответствующее сообщение:}

i:= 0;

repeat

i:= i+ 1;

until (a[i] = 0) or (i = n);

if a[i] = 0 then writeln('Номер нулевого элемента = ', i)

else

writeln('Таких элементов нет');

{ Если требуется найти номера всех нулевых элементов, то лучше применить оператор FOR:}

for i:= 1 to n do

if a[i] = 0 then write(i, ' ');

{ Поиск максимального элемента и его номера. Переменная max хранит максимальное значение элемента, а k – его номер. }

max:= a[i];

k:= 1;

for i:= 2 to n do

if a[i] > max then

begin

max:= a[i];

k:= i;

end;

Многомерные массивы (матрицы).

Организация доступа к элементам двумерного массива

Для описания многомерных массивов в Pascal существует целый ряд способов. Следующие группы операторов задают описание одного и того же двумерного массива А, представляющего собой таблицу размером 2´3 (2 строки, 3 столбца)

Первый способ:

Type

Stroka = array [1..3] of real;

Matr = array [1..2] of stroka;

Var

V: stroka;

A: matr;

Второй способ:

Type

Matr= array [1..2] of array [1..3] of real;

Var

A: matr;

 

Третий способ:

Type

Matr = array [1..2,1..3] of real;

Var

A: matr;

Четвёртый способ:

Var

A: array [1..2,1..3] of real;

В первом способе описания переменная V объявлена как одномерный массив из трёх элементов вещественного типа. Переменная А имеет смысл двумерного массива из двух строк, в каждую из которых включено по три элемента.

Второй, третий и четвертый способы описания массива получаются из первого путем его последовательного упрощения. Так второй способ описания получен из первого путём исключения определения типа stroka в определении типа matr.

Задание значений элементам массива может выполняться при помощи операторов присваивания:

A [1, 2]:= 2.3 + P1

Другим способом задания значений элементам массива является поэлементный ввод. Также поэлементно может осуществляться и вывод.

Действия с двумерными массивами

Для обработки двумерных массивов применяются вложенные циклы FOR. Рассмотрим примеры обработки двумерных массивов.

Пример 1.

Поиск минимального (максимального) элемента матрицы и индексов его строки и столбца.

uses crt;

var

min,i,j,k,m: integer;

a: array [1..5,1..5] of integer;

begin

clrscr;

randomize;

for i:= 1 to 5 do

begin

for j:= 1 to 5 do

begin

a[i,j]:= random(100);

write(a[i,j]:4);

end;

writeln;

end;

min:= a[1,1];

for i:= 1 to 5 do

for j:= 1 to 5 do

if min > a[i,j] then

begin

min:= a[i,j];

k:= i;

m:= j;

end;

writeln;

writeln('min = ', a[k,m], ' str = ',k:2,' stolb = ',m:2);

readln

end.

Пример 2.

 

       
       
       
       

Программа заполнения двумерного массива змейкой.

при n=6 и m=8:

 

Решение

Для того чтобы заполнить массив указанным об­разом, надо вывести правило заполнения. В данном случае правило будет таким: если ряд нечетный (то есть когда номер строки − нечетное число), то А[i,j] = (i-1)*m+j, иначе (т.е. когда строка чет­ная) A[i,j] = i*m-j+1.

 

uses crt;

const

n = 6;

m = 8;

var

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

i,j,k: integer;

begin

for i:= 1 to n do

begin

for j:= 1 to m do

begin

if i mod 2 = 0 then

a[i,j]:= i*m - j + 1

else

a[i,j]:= (i-1)*m + j;

write(a[i,j]:3);

end;

writeln;

end;

readln

end.

Сортировка массивов

 

Сортировка - это процесс упорядочивания набора данных одного типа по возрастанию или убыванию значения какого-либо признака. При сортировке элементы массива меняются местами таким образом, что их значения оказываются упорядоченными или по возрастанию или по убыванию. В большинстве случаев речь идет о сортировке одномерных массивов.

Сортировка массивов – одно из наиболее важных действий над массивами в системах сбора и поиска информации, т.к. в отсортированных массивах гораздо легче можно найти нужную информацию. Существуют множества способов сортировки массивов. Один из способов сортировки массивов:


Поделиться с друзьями:

Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...

История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...

Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначен­ные для поддерживания проводов на необходимой высоте над землей, водой...

Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.015 с.