(defparameter N (make-array 9)) (defparameter keta 0) (loop for char = (read-char nil nil) do (if (eq char #\Newline) (return)) (setf (aref N keta) (digit-char-p char)) (incf keta) ) ;(print N) ;(print keta) (defvar st) (defvar swapf) (defvar temp) (defvar maxn) (defvar maxi) (loop for j from 0 to (- keta 2) do (setq swapf nil) (setq maxn -1) (setq st j) ;(loop for i from (+ st 1) to (- keta 1) do (loop for i from (- keta 1) downto (+ st 1) do (if (< maxn (aref N i)) (progn (setq maxn (aref N i)) (setq maxi i ))) ) (if (< (aref N st) maxn) (progn (setq temp (aref N st)) (setf (aref N st) maxn) (setf (aref N maxi) temp) (setq swapf t) ) ) (if swapf (return)) ) ;(print N) ;(print keta) (loop for i from 0 to (- keta 1) do (format t "~d" (aref N i)) ) (format t "~%" )