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

code: #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.      
Поделиться:

Похожие статьи: