12 Программу из примера 19.10 изменили. Сф с помощью данной программы. var i,k,n,z: integer; begin write('Введите n = '); read(n); write('Введите і = '); read (i); k:=0; while n> 0 do begin z : = n mod 10; //Текущая цифра k : = k + 1; if k = i then writeln('B разряде ', i, ' стоит цифра ', z); N : = n div 10; //уменьшение числа в 10 раз end; if i> k then . writeln('В числе ', k, ' цифр, в разряде ', i, ' нет цифр') writeln('В числе ', k, ' цифр'); else end.
ЧТО ПРОИСХОДИТ??
Answers & Comments
Данная программа содержит ошибки в синтаксисе. Некоторые операторы записаны с пробелами между знаками, что может привести к ошибкам компиляции. Предположим, что программа выглядела так:
var
i, k, n, z: integer;
begin
write('Введите n = ');
read(n);
write('Введите i = ');
read(i);
k:=0;
while n > 0 do
begin
z := n mod 10; //Текущая цифра
k := k + 1;
if k = i then writeln('В разряде ', i, ' стоит цифра ', z);
n := n div 10; //уменьшение числа в 10 раз
end;
if i > k then
writeln('В числе ', k, ' цифр, в разряде ', i, ' нет цифр')
else
writeln('В числе ', k, ' цифр');
end.
Данная программа выводит на экран цифру, стоящую в i-ом разряде числа n. Если i-ый разряд отсутствует, программа сообщает об этом. В конце программы выводится количество цифр в числе.
Чтобы использовать данную программу, нужно ввести значение n (число, в котором нужно найти i-ую цифру) и i (позиция цифры, которую нужно найти). Например, если мы хотим найти 3-ю цифру числа 456789, нужно ввести n = 456789 и i = 3. Если в числе нет 3-ей цифры, программа выведет сообщение "В числе X цифр, в разряде Y нет цифр", где X - количество цифр в числе, а Y - номер разряда, которого нет в числе. Если в числе есть i-ая цифра, программа выведет сообщение "В разряде X стоит цифра Y". В конце программы будет выведено общее количество цифр в числе.
Пример использования программы:
Введите n = 456789
Введите i = 3
В разряде 3 стоит цифра 6
В числе 6 цифр