Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Program ObrMas;
{Последовательный поиск и перестановка местами
минимального и максимального элементов в массиве
Входные данные: k - количество элементов в массиве,
M - массив из целых чисел.
Выходное данное: M - преобразованный массив.}
Const
R=10; {Размер массива}
Type
TInd=1..R; {Тип индекса элемента массива}
TElem=Integer; {Тип элемента массива}
TMas=Array [TInd] Of TElem; {Тип массив}
Var
k,i,nmin,nmax:TInd; {1..R}
M:TMas; {Исходный и преобразованный массив}
min,max:TElem; {Текущие значения минимума и максимума}
Begin
{$R+} {Установка режима контроля индекса элемента}
Write('Задайте количество элементов не более ',R,': ');
ReadLn(k);
{Ввод массива}
Write('Введите ',k,' целых чисел одной строкой:');
For i:=1 To k
Do Read(M[i]); {Ввод элемента массива}
{Поиск минимума и максимума в массиве}
min:=M[1];
nmin:=1; {Начальные установки минимума}
max:=M[1];
nmax:=1; {Начальные установки максимума}
For i:=2 To k {Перебор элементов массива}
Do If M[i]<min {Сравнение элемента с минимумом}
Then Begin
min:=M[i]; {Текущий минимум}
nmin:=i {Номер минимального элемента}
End
Else If M[i]>max {Сравнение элемента с максимумом}
Then Begin
max:=M[i]; {Текущий максимум}
nmax:=i {Номер максимального элемента}
End;
{Перестановка местами минимума и максимума}
M[nmin]:=max;
M[nmax]:=min;
{Вывод массива}
WriteLn('Массив после перестановки:');
For i:=1 To k
Do Write (M[i],' '); {Вывод элемента массива}
WriteLn;
End.
Дата публикования: 2014-11-03; Прочитано: 282 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!