Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
колесников.docx
Скачиваний:
4
Добавлен:
30.10.2018
Размер:
98.12 Кб
Скачать

3.)Программа определяет упорядочен массив или нет.

type

mas=array[1..1000] of integer; //объявляем тип массива для хранения в //нём значений

var dl,i,a:integer; //переменные dl- длинна массива, i- счётчик, a- переменная //для хранения числа, перед записью его в массив

m:mas; //массив для хранения введённых чисел, и их обработки

flag:boolean; //флаг

Begin

dl:=1; //присваиваем длине массива 1, для занесения 1-го значения на 1-е //место в массиве

repeat //для ввода неизвестного числа значений используем цикл

read(a); //программа читает значения с клавиатуры для дальнейшего

//его занесения в массив

If a>0 Then //чтобы в массив не попал 0, или отрицательное число, //сравниваем введённое значение

Begin

m[dl]:=a; //если значение >0, то заносим значение на //соответствующее место

inc(dl); //увеличиваем длину на 1, чтобы вставить следующее //значение

end;

until a=0; //выход из цикла, когда введён 0

dl:=dl-1; //т.к. когда мы ввели 0, счётчик уже увеличился, уменьшаем //длину массива

flag:=true; //предполагаем что массив упорядочен

for i:=1 to dl do//цикл для перебора всех элементов

If m[i]<m[i+1] Then flag:=false;//если следующий элемент будет //больше, флаг опуститься

If flag Then writeln('Uporadochena po ubivaniu'); //если флаг не опустился, //значит массив упорядочен по убыванию

flag:=true;//опять поднимаем флаг для следующего исследования

for i:=dl downto 2 do //перебираем все элементы от последнего до 2-го

If m[i]<m[i-1] Then flag:=false;//если элемент будет меньше //предыдущего, флаг опуститься

If flag Then writeln('Uporadochena po vozrastaniu'); //если флаг не //опустился, то массив упорядочен по возростанию.

end.

4.)Программа определяет есть ли в массиве одинаковые элементы.\

type

mas=array[1..1000] of integer; //объявляем тип массива для хранения в //нём значений

var dl,i,a,j:integer; //переменные dl- длинна массива, i,j- счётчики, a- //переменная для хранения числа, перед записью его в массив

m:mas; //массив для хранения введённых чисел, и их обработки

flag:boolean; //флаг

Begin

dl:=1; //присваиваем длине массива 1, для занесения 1-го значения на 1-е //место в массиве

repeat //для ввода неизвестного числа значений используем цикл

read(a); //программа читает значения с клавиатуры для дальнейшего

//его занесения в массив

If a>0 Then //чтобы в массив не попал 0, или отрицательное число, //сравниваем введённое значение

Begin

m[dl]:=a; //если значение >0, то заносим значение на //соответствующее место

inc(dl); //увеличиваем длину на 1, чтобы вставить следующее //значение

end;

until a=0; //выход из цикла, когда введён 0

dl:=dl-1; //т.к. когда мы ввели 0, счётчик уже увеличился, уменьшаем //длину массива

for i:=1 to dl do

for j:=i+1 to dl do //открываем цикл для перебора элементов //массива начиная со 2-го

If m[i]=m[j] Then flag:=true;//если есть одинаковые //объекты флаг подниметься

If Flag Then Writeln('Est Odinakovie obekti') Else Writeln('Odinakovih net'); //по соответствующему положению флага программа выведет сообщение

end.