Помогите томата вить программу ** паскале Используя подпрограммы-процедуры составить...

0 голосов
70 просмотров

Помогите томата вить программу на паскале

Используя подпрограммы-процедуры составить программу для формирования массива элементы которого являются цифры заданного числа n


Информатика (14 баллов) | 70 просмотров
Дан 1 ответ
0 голосов

 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

(2.6k баллов)