26.02.2008, 19:44
общий
это ответ
Здравствуйте, Юрченко Евгений Сергеевич!
Исходник в приложении. Протестирован. Работает на целочисленных массивах длиной до 15 чисел. Длину можно задавать через константу Nmax. Организован запрос на повторное исполнение. Выводятся значения максимального и минимального элементов вместе с номерами их позиций, а также трансформированный массив с заданной перестановкой.
Приложение:
program q124516;uses crt;const Nmax=15;var mas:array[1..Nmax] of integer; N,i,min,max,n1,n2:integer; ch:char;begin repeat clrscr; writeln; write(‘ Enter the length of you array : N = ‘); readln(N); if N>Nmax then writeln(‘ Input error : the length of set array must be <= ‘,Nmax) else begin writeln(‘ Input your array"s elements :‘); for i:=1 to N do begin write(‘ mas[‘,i,‘] = ‘); readln(mas[i]); end; min:=mas[1]; n1:=1; for i:=2 to N do if min>mas[i] then begin min:=mas[i]; n1:=i; end; max:=mas[1]; n2:=1; for i:=2 to N do if max<mas[i] then begin max:=mas[i]; n2:=i; end; mas[n1]:=max; mas[n2]:=min; writeln(‘ The minimum element was min = ‘,min,‘; under position number n1 = ‘,n1); writeln(‘ The maximum element was max = ‘,max,‘; under position number n2 = ‘,n2); writeln(‘ The transmission array is :‘); for i:=1 to N do writeln(‘ ‘,mas[i]); end; write(‘ Again (y/n) ? - ‘); ch:=readkey; until ch=‘n‘;end.