Разбить массив на пять частей и в каждой части поменять местами наибольший элемент с наименьшим - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

Дан массив X(5·N) (т.е. количество элементов массива кратно пяти). Разбить массив на пять частей и в каждой части поменять местами наибольший элемент с наименьшим.

Решение задачи: «Разбить массив на пять частей и в каждой части поменять местами наибольший элемент с наименьшим»

textual
Листинг программы
Const m=5;nmax=100;
Var A:array[1..m*nmax] of integer;
    i,j,n,imax,imin:byte;
    t,r:integer;
Begin
    write('N<=',nmax,': ');readln(n);
    writeln('Исходный массив');
    For i:=1 to m*n do
    Begin
      A[i]:=random(31)-15;
      write(A[i]:4);
      if i mod 5 = 0 then write('  ');
    End;
    writeln;
    For i:=1 to n do
    Begin
      r:=m*(i-1)+1;
      imax:=r;
      imin:=r;
      For j:=r+1 to m*i do
       if A[j]>A[imax] then imax:=j
        else if A[j]<A[imin] then imin:=j;
      t:=A[imax];
      A[imax]:=A[imin];
      A[imin]:=t;
    End;
    writeln('Полученный массив');
    For i:=1 to m*n do
    Begin
      write(A[i]:4);
      if i mod 5 = 0 then write('  ');
    End;
    readln;
End.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.308 из 5
Похожие ответы