Вопрос задан 07.09.2023 в 02:39. Предмет Информатика. Спрашивает Муминов Данил.

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

для формирования массива элементы которого являются цифры заданного числа n
0 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

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Конечно, вот пример программы на Pascal, которая создает массив из цифр заданного числа n с использованием подпрограмм-процедур:

pascal
program DigitArray; const MaxDigits = 10; // Максимальное количество цифр в числе type DigitArray = array [1..MaxDigits] of Integer; var n: Integer; digits: DigitArray; digitCount: Integer; procedure InitializeArray(var arr: DigitArray); var i: Integer; begin for i := 1 to MaxDigits do arr[i] := 0; end; procedure ExtractDigits(num: Integer; var arr: DigitArray; var count: Integer); begin count := 0; while num > 0 do begin count := count + 1; arr[count] := num mod 10; num := num div 10; end; end; procedure DisplayArray(arr: DigitArray; count: Integer); var i: Integer; begin writeln('Массив цифр числа:'); for i := count downto 1 do write(arr[i], ' '); writeln; end; begin writeln('Введите число n: '); readln(n); InitializeArray(digits); ExtractDigits(n, digits, digitCount); DisplayArray(digits, digitCount); readln; end.

Программа начинается с запроса ввода числа n, затем инициализирует массив digits и использует процедуры ExtractDigits для извлечения цифр числа и DisplayArray для вывода массива на экран.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос