Данную программу нужно было составить с помощью функций.
{В массиве все элементы, стоящие после минимального, уменьшить на 10.}
Program Lab4Var6;
Const
maxN=10;
Type
array1=array[1..10] of integer;
var
a: array1;
n: integer;
i: integer;
min, min_i: integer;
{Определение процедур}
procedure ReadArray; {ReadArray - процедура ввода массива с клавиатуры}
begin
repeat {Ввод количества элементов}
write('Введите n:');
readln(n);
until (n>=1)and(n<=maxN);
for i:=1 to n do {Ввод элементов поодиночке}
begin
write('a[',i,']=');
readln(a[i]);
end;
end; {Конец процедуры ReadArray}
function FindMin: integer; {FindMin - процедура поиска индекса минимального элемента}
var
min_i: integer; {Локальная переменная, в которой хранится индекс min до возвращения из функции}
i: integer; {Локальная переменная, счётчик цикла}
begin
min_i:=a[1]; {Ищем индекс min элемента}
for i:=1 to n do
if a[i]<min_i then min_i:=a[i];
FindMin:=min_i; {Функция возвращает найденный индекс}
end; {Конец процедуры FindMin}
procedure Remember;
begin
for i:=1 to n do
if a[i]=min then
begin
min_i:=i;
end;
writeln ('Минимальный элемент:', min_i);
end;
procedure Diminish; {Diminish - процедура уменьшения элементов, стоящих после min, на 10}
begin
for i:=min_i+1 to n do {Уменьшаем элементы на 10}
a[i]:=a[i]-10;
end; {Конец процедуры Diminish}
procedure PrintArray; {PrintArray - процедура вывода массива на экран}
begin
writeln; {Выводим массив}
for i:=1 to n do
write(A[i]:3);
writeln;
end; {Конец процедуры PrintArray}
{Основная часть программы}
begin
ReadArray; {Ввод массива}
min_i:=FindMin; {Поиск индекса минимального элемента}
Remember;
Diminish; {Уменьшение элементов}
PrintArray; {Вывод массива}
end.
М | Используй теги для программного текста! -- Лопарь |