Томата вить программу на паскале используя подпрограммы-процедуры составить программу для формирования массива элементы которого являются цифры заданного числа n
type mas = array [1..10] of integer; var m : mas; a,l : integer;
function re () : integer; //Считываем число var a : integer; begin writeln ('Введите число'); readln (a); Result :=a; end;
function C(var m : mas; a : integer) : integer; //Разбиваем на числа var i : integer; begin i := 0; While a > 0 do begin i := i +1; m[i] := a mod 10; a := a div 10; end; Result := i; end; procedure wr (a : mas; l : integer); // Вывод массива var i : integer; begin writeln ('Resultat :'); for i := 1 to l do write (a[i],' '); end; procedure sort (var a : mas; l : integer); // перевернуть массив // т.е 1234 -> 4321 var i,buf : integer; begin for i := 1 to l div 2 do begin buf := a[l-i+1]; a[l-i+1] := a[i]; a[i] := buf; end; end;
begin a := re(); l := C(m,a); sort (m,l); wr (m,l); end.
на примере числа 125 после выполнения функции C m[1] = 5 m[2] =2 m[3] =1 после выполнения процедуры Sort m[1] =1 m[2] =2 m[3] =5 Вывод на экран элементов массива через пробел 1 2 5
mas = array [1..10] of integer;
var
m : mas;
a,l : integer;
function re () : integer; //Считываем число
var a : integer;
begin
writeln ('Введите число');
readln (a);
Result :=a;
end;
function C(var m : mas; a : integer) : integer; //Разбиваем на числа
var i : integer;
begin
i := 0;
While a > 0 do
begin
i := i +1;
m[i] := a mod 10;
a := a div 10;
end;
Result := i;
end;
procedure wr (a : mas; l : integer); // Вывод массива
var i : integer;
begin
writeln ('Resultat :');
for i := 1 to l do
write (a[i],' ');
end;
procedure sort (var a : mas; l : integer); // перевернуть массив
// т.е 1234 -> 4321
var i,buf : integer;
begin
for i := 1 to l div 2 do
begin
buf := a[l-i+1];
a[l-i+1] := a[i];
a[i] := buf;
end;
end;
begin
a := re();
l := C(m,a);
sort (m,l);
wr (m,l);
end.
на примере числа
125
после выполнения функции C
m[1] = 5 m[2] =2 m[3] =1
после выполнения процедуры Sort
m[1] =1 m[2] =2 m[3] =5
Вывод на экран элементов массива через пробел
1 2 5