Дано слово. Определить состоит ли оно из одних цифр. Если да, то отсортировать цифры в слове по убыванию, иначе слово оставить без изменений.Напишите процедуру Sort (без параметров), которая сортирует цифры в слове по убыванию — Pascal(Паскаль)

uses crt;
var s:string;
procedure Sort;
var i,k,j:byte;
    x:char;
begin
k:=0;
for i:=1 to length(s) do
if not(s[i] in ['0'..'9'])then{проверка на цифры}
 begin
  k:=1;
  break;
 end;
if k=1 then
  begin
   write('Слово состоит не только из цифр!');
   readln;
   exit;
  end
else
 begin
  for i:=1 to length(s)-1 do{сортировка обменом}
  for j:=i+1 to length(s) do
  if s[i]<s[j] then
   begin
    x:=s[i];
    s[i]:=s[j];
    s[j]:=x;
   end;
  write(s);
  readln;
 end;
end;
begin
clrscr;
write('Слово: ');
readln(s);
Sort;
end.

Вариант 2

uses crt;
var
 s:string;
 i,k,j:byte;
 x:char;
    
 procedure Sort;
  begin
   for i:=1 to length(s)-1 do{сортировка обменом}
    for j:=i+1 to length(s) do
    if s[i]<s[j] then
     begin
      x:=s[i];
      s[i]:=s[j];
      s[j]:=x;
     end;
   write(s);
   readln;
  end;
 
begin
clrscr;
write('Слово: ');
readln(s);
k:=0;
for i:=1 to length(s) do
if not(s[i] in ['0'..'9'])then{проверка на цифры}
 begin
  k:=1;
  break;
 end;
if k=1 then
  begin
   write('Слово состоит не только из цифр!');
   readln;
   exit;
  end
else Sort;
end.

Leave a Comment

− 2 = 3