{Практическая работа №2 выполнена студентами группы 2П-1 Юристом С. и Передруком А.} {В одномерном массиве целых чисел переставить минимальный элемент(предполагая что он единственный) и элемент, равный числу,введенному с клавиатуры(предполагая что такой элемент единственный, вывести на экран минимальный элемент массива а также сам массив до и после изменения.} {Заголовок программы} program praktika2; uses crt;{раздел описания модулей} var {раздел описания переменных} i,n,s,min,i_min,z,km,kz,x: integer; a: array[1..100] of integer; begin{начало тела программы} repeat clrscr;{очистка экрана} writeln('программа для перестановки мин. элемента и элемента введеного с клавиатуры'); {ввод количества элементов массива с проверкой} repeat writeln('введите n - кол-во элементов массива,(11) and (n<=100); {цикл с параметром (ввод элементов массива} for i:= 1 to n do begin writeln('введите элементы массива'); readln(a[i]); end; writeln ('исходный массив'); {цикл с параметром(вывод исходного массива} for i:= 1 to n do write(a[i],','); writeln; writeln('введите элемент для замены'); readln(z); min:=a[1];{присвоение переменной min значения первого элемента} i_min:=1;{присвоение переменнойi_min индекса первого элемента} {цикл с параметром(нахождение минимального элемента)} for i:= 2 to n do begin if min>a[i] then begin min:=a[i];{сохранение значения мин.элемента} i_min:=i;{сохранение индекса мин. элемента} end; end; writeln('Минимальный элемент:'); writeln(Min); if z=min then begin writeln('Минимальный элемент равен введенному с клавиатуры числу');continue; end; x:=0; {Цикл с параметром( проверка наличия элемента, равного числу, введенному с клавиатуры) } for i:=1 to n do if z<>a[i] then inc(x); if x=n then begin writeln('нет элемента, равного числу, введенному с клавиатуры');continue; end; s:=a[i_min];{сохранение в переменной s значения мин. элемента} {цикл с параметром (перестановка мин. элемента и элемента равного числу введенного пользователем)} for i:=1 to n do if a[i]=z then a[i]:=s;{если элем. равен введенному числу он заменяется на мин.элемент} a[i_min]:=z; z:=s;{элемент введенный с клавиатуры заменяется на мин. элемент} kz:=0;km:=0; {подсчет кол-ва мин. элементов и равных введенному элементу , если каких-то из них больше-вывод сообщения} for i:=1 to n do if a[i]=min then inc(km); if a[i]=z then inc(kz); if (kz>1) or (km>1) then begin writeln('элементов равных введенному числу или минимальных элементов больше одного'); continue; end else writeln('вывод измененного массива'); {вывод измененного массива} for i:=1 to n do write(a[i],','); writeln; writeln('для выхода из цикла нажмите ESC, для продолжения - любую клавишу.'); until readkey=#27 end.{конец программы}