
Напечатать в возрастающем порядке все цифры, не входящие в запись данного натурального числа
Помогите решить в Паскале (только на более понятном решении) Без всяких Println,h.remove,abs(readinteger),HSet(range) moo

Ответы на вопрос

type z=array of integer;
var n,i: integer;
a: z;
f: boolean;
begin
readln(n);
i:=0;
f:=true;
setlength(a,i+1);
while n<>0 do begin
a[i]:=n mod 10;
i:=i+1;
setlength(a,i+1);
n:=n div 10;
end;
setlength(a,i);
for i:=0 to 9 do begin
for n:=0 to length(a)-1 do
if a[n]=i then begin
f:=false;
break;
end;
if f then write(i,' ');
f:=true;
end;
end.



var
i, n: integer;
m: array[0..9] of boolean;
begin
for i := 0 to 9 do
m[i] := False;
read(n);
while n > 0 do
begin
m[n mod 10] := True;
n := n div 10
end;
for i := 0 to 9 do
if not m[i] then
Write(i, ' ')
end.



Конечно, я могу помочь вам с решением данной задачи на языке Pascal. Для того чтобы напечатать все цифры, не входящие в запись данного натурального числа, можно воспользоваться массивом для отслеживания использованных цифр.
Вот простое решение на Pascal без использования неразборчивых функций, которое не требует Println, h.remove, abs, readinteger, hset, moo:
pascalprogram MissingDigits; const MAX_DIGITS = 10; // Предполагаем, что у нас не больше 10 цифр var number, tempNumber: LongInt; usedDigits: array[0..MAX_DIGITS - 1] of Boolean; i, digit: Integer; hasDigits: Boolean; begin // Инициализируем массив использованных цифр for i := 0 to MAX_DIGITS - 1 do usedDigits[i] := False; // Считываем натуральное число Write('Введите натуральное число: '); ReadLn(number); // Обрабатываем особый случай, когда число равно 0 if number = 0 then begin WriteLn('0'); Exit; end; // Обрабатываем число, пока оно не станет равным 0 tempNumber := number; while tempNumber > 0 do begin digit := tempNumber mod 10; usedDigits[digit] := True; tempNumber := tempNumber div 10; end; // Печатаем неиспользованные цифры hasDigits := False; Write('Неиспользованные цифры: '); for i := 0 to 9 do begin if not usedDigits[i] then begin Write(i, ' '); hasDigits := True; end; end; // Если неиспользованных цифр нет, выводим сообщение if not hasDigits then WriteLn('Отсутствуют'); end.
Вышеуказанная программа считывает натуральное число, затем ищет неиспользованные цифры и выводит их в возрастающем порядке. Если неиспользованных цифр нет, программа сообщит об этом.


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


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








Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili