Предмет: Информатика, автор: belaevi631

Напишите пожалуйста задачу на Pascal по нахождению минимального и максимального числа в массиве

Ответы

Автор ответа: alexKashanskiy
1

Ответ:

program task1;

 const n = 9;

 var

 b:array[0..n] of integer;

 a:array[0..n] of integer;

 min,max, temp:integer;

 i,imin,imax, ii, ii2, k, j:byte;

 begin

 randomize;

//формируем массив

   for i:= 0 to n do

     a[i]:=random(100);

     writeln('Исходный массив: ',a);

     writeln;

//ищем минимальный элемент и выводим его

   min:=a[0];

   imin:=0;

   for i:=1 to n do

     If a[i]<min then

       begin

         min:=a[i];

         imin:=i;

       end;

     writeln('Минимальный элемент массива:',min);

     writeln;

//ищем максимальный элемент и выводим его

   max:=a[0];

   imax:=0;

   for i:=1 to n do

     if max<a[i] then

       begin

         max:=a[i];

         imax:=i;

       end;

     writeln('Максимальный элемент массива:',max);

//удаляем элементы левее

   if imin<imax then

     ii:=imin

   else

     ii:=imax;

   if ii <> 0 then

     for i:=0 to ii-1 do

       a[i]:=0;

       writeln;

//переносим значения между минимальным и максимальным масивом в другой массив

   if imin < imax then

     begin

       for i:=imin+1 to imax-1 do

         b[i]:=a[i];

     end

   else

     begin

       for i:=imax+1 to imin-1 do

         b[i]:=a[i];

     end;

//преобразуем массив

   if imin>imax then

     ii2:=imin

   else

     begin

       ii2:=imax;

       temp:=a[ii2];

       k:=ii+1;

     end;

   for i:=ii2+1 to n do

     begin

       a[k]:=a[i];

       inc(k);

     end;

   a[k]:=temp;

   j:=k+1;

   for i:=0 to n do

     if b[i] <> 0 then

       begin

         a[j]:=b[i];

         inc(j);

       end;

 writeln('Преобразованный массив ', a);

 end.

Похожие вопросы