Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Базовые алгоритмы работы с одномерными массивами






 

Будем считать, что объявили массив из 10 элементов, тип элементов в данном случае значение не имеет:

1. заполнение одномерного массива:

· заполнение с клавиатуры:

for i: =1 to 10 do

begin

writeln (‘Введите значение элемента’);

readln(a[i]);

end;

· заполнение случайным образом:

for i: =1 to 10 do

a[i]: =random(n); {n должно быть задано заранее}

· заполнение натуральными числами:

for i: =1 to 10 do

a[i]: =i;

· поменять местами два заданных элемента массива:

c: =a[i]; a[i]: = a[j]; a[j]: =c;

· заполнение по формуле (например, ai=sin i):

for i: =1 to 10 do

a[i]: =sin(i);

2. вывод массива на экран:

for i: =1 to 10 do

writeln (‘элемент ’, i, ‘ массива ’, a[i]);

3. нахождение суммы элементов одномерного массива:

s: =0;

for i: =1 to 10 do

s: =s+a[i];

4. подсчёт количества элементов, удовлетворяющих заданному условию (например, положительных элементов):

k: =0;

for i: =1 to 10 do

if a[i]> 0 then k: =k+1;

5. поиск максимального элемента одномерного массива и его номера:

max: =a[1];

n: =1;

for i: =2 to 10 do

if a[i]> max then begin max: =a[i]; n: =i; end;

Задача MaxMin. Программа для поиска максимального и минимального элемента массива, с указанием их номеров (maxmin.pas).

program maxmin;

uses crt;

var a: array[1..5] of integer; i, max, nmax, min, nmin: integer;

begin

clrscr;

for i: =1 to 5 do { ввод данных }

begin writeln ('Введите значение элемента');

readln (a[i]);

end;

for i: =1 to 5 do { выдача массива на экран } writeln (a[i]: 7);

nmax: =1; { задание начальных значений }

max: =a[1];

nmin: =1;

min: =a[1];

for i: =1 to 5 do{ нахождение минимума и максимума}

if a[i]> max then begin max: =a[i]; nmax: =i; end;

if a[i]< min then begin min: =a[i]; nmin: =i; end;

end;

writeln ('Максимальный элемент=', max);

writeln ('Номер максимального элемента=', nmax);

writeln ('Минимальный элемент=', min);

writeln ('Номер минимального элемента=', nmin);

repeat until keypressed; end.

 

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

 

Сортировка массива – это упорядочение по возрастанию/убыванию значений его элементов.

Сортировка методом «пузырька»

Сущность метода: Начиная с 1-го или последнего элемента, производится попарное сравнение элементов и, если предыдущий больше последнего, то они меняются местами. Фрагмент.

for i: =1 to n-1 do

for j: =i+1 to n do

if f[j]< f[i] then

begin

a: =f[i];

f[i]: =f[j];

f[j]: =a;

end;

Сортировка методом выбора

Сущность метода: Находится минимальный элемент, затем 1-ый и минимальный меняются местами, затем ищется минимальный со 2-го по последний и 2-ой с минимальным меняются местами и т.д.

Задача: Сдвинуть элементы массива влево на одну позицию.

uses crt;

const n=10;

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

begin

for i: =1 to n do { заполнение массива и его вы вод на экран}

begin

a[i]: =random(50); write (a[i]: 5);

end;

c: =a[1];

for i: =1 to n-1 do a[i]: =a[i+1];

a[n]: =c; writeln;

for i: =1 to n do write(a[i]: 5);

repeat until keypressed; end.

 


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

mylektsii.su - Мои Лекции - 2015-2024 год. (0.007 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал