Ввести последовательность натуральных чисел {aj}j=1…n. Если в последовательности нет чисел, все цифры которых одинаковы, упорядочить последовательность по не убыванию — Pascal(Паскаль)

program PascalGuru;

uses crt;

var
  A: array [1 .. 100] of integer;
  i, j, n, nn: integer;
  s: string;
  b: boolean;

procedure exchange(var A, b: integer);
var
  c: integer;
begin
  c := A;
  A := b;
  b := c;
end;

{ -------------------------------------------- }
begin
  write('N= ');
  readln(n);

  writeln('Vvedite elementy massiva A: ');
  for j := 1 to n do
  begin
    write('A[', j, ']=');
    readln(A[j]);
  end;

  clrscr;
  writeln('Vot vvedennyi vami massiv A: ');
  for j := 1 to n do
    write(A[j]:4, ' ');

  for j := 1 to n do
  begin
    str(A[j], s);
    b := true;
    for i := 2 to length(s) do
      if s[1] <> s[i] then
        b := false;
    if b then
      break;
  end;

  writeln;
  writeln;
  if b then
  begin
    writeln('Massiv ne otsortirovan');
    readln;
    halt;
  end
  else
  begin
    nn := n;
    repeat
      b := false;
      for i := 1 to nn - 1 do
        if A[i] > A[i + 1] then
        begin
          exchange(A[i], A[i + 1]);
          b := true;
        end;
      dec(nn);
    until not b;
  end;

  writeln('Vot otsortirovannyi massiv A: ');
  for j := 1 to n do
    write(A[j]:4, ' ');

  readln;

end.

Leave a Comment