Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Laboratornaya_rabota2-информатика.doc
Скачиваний:
8
Добавлен:
09.11.2019
Размер:
456.19 Кб
Скачать

Одномерные массивы

Задача. Дан массив а, состоящий из 10 элементов. Составить программу поиска максимального элемента массива.

Используем идею предыдущей задачи. Перед началом поиска выберем условно в качестве максимального первый элемент массива Max:=a[1]. Затем по очереди каждый элемент массива сравним со значением переменной m. Если он окажется больше, то изменим значение Max. После анализа всех элементов массива переменная Max содержит значение максимального элемента массива.

. . .

Max:=a[1];

for i := 2 to 10 do

  if Max<a[i]

    then

      Max := a[i];

. . .

Задача. Дан массив а, состоящий из 10 элементов. Составить программу поиска элементов массива.

program sorting;

const

n=20; {}

Type

Tarray=array[1..n] of integer;

var i,buf,j:integer;

a:Tarray;

begin

writeln('сортировка по возрастанию');

writeln('заполнение массива');

for i:=1 to n do begin

a [i]:=random(100);

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

end;

for i:=2 to n do

for j:=n downto 1 do

if a[j-1]>a[j] then

begin buf:=a[j-1];

a[j-1]:=a[j];

a[j]:=buf;

end;

writeln('сортированный массив');

for j:=1 to n do

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

readln;

end.

Для реализации различных методов сортировки необходимо подготовить несколько вспомогательных процедур и функций.

  1. Функция, которая ищет минимальный элемент правее некоторого заданного и возвращает его номер в качестве результата. Аргументами функции являются номер элемента массива и обрабатываемый массив:

  2. Большинство методов сортировок основаны на обмене двух чисел. Для этой цели предназначена процедура, которая в качестве параметров берет два числа и меняет их значения

  3. Также пригодится процедура, которая берет элемент с индексом i, перемещает его на место элемента с номером j. А все элементы, которые имеют индексы от j до i-1 сдвигает на одну позицию вправо.

5Доступ к элементам массива.

Рассмотрите предложенные ниже фрагменты программ для решения некоторых типичных задач.

6Изменение значения некоторых элементов

Задача. Заменить отрицательные элементы на противоположные по знаку.

7

program Zamena;

const

n=20;

Type

Tarray=array[1..n] of integer;

var i:integer;

a:Tarray;

begin

writeln('замена отрицательного знака на положительный’);

writeln('заполнение массива');

randomize;

for i:=1 to n do begin

a [i]:=random(10+20)-20;

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

end;

for i:=1 to n do

if a[i]<0 then

a[i]:=-1*a[i];

writeln('новый массив');

for i:=1 to n do

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

readln;

end.

8Нахождение номеров элементов с заданным свойством

Задача. Найти и вывести на экран номера четных элементов.

Для решения задачи необходимо просмотреть весь массив, и если просматриваемый элемент является четным, то выводить его номер..

program PoiskChet;

const

n=20;

Type

Tarray=array[1..n] of integer;

var i:integer;

a:Tarray;

begin

writeln('нахождение номера четного элемента');

writeln('заполнение массива');

randomize;

for i:=1 to n do begin

a [i]:=random(100);

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

end;

writeln('номер четного элемента');

for i:=1 to n do

if a[i] mod 2 = 0 then

write(i:5);

readln;

end.

9

10

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]