• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Множества

gaben134

Новые
Регистрация
7 Апр 2016
Сообщения
26
Реакции
0
Баллы
0
Множества

Помогите пожалуйста
Напечатать в возрастающем порядке все цифры, не входящие в десятичную запись натурального числа N (число выбрать произвольно).
 
Помогите пожалуйста
Напечатать в возрастающем порядке все цифры, не входящие в десятичную запись натурального числа N (число выбрать произвольно).
Да без проблем:
Код:
Var
 N:String;
 i,k:Byte;
 S:Set of byte;
 Code:Word;

Begin
 Write('N = ');
 Readln(N);
 S:=[];
 for i:=1 to Length(N) do
  begin
   Val(N[i],k,Code);
   if Not(k in S) then S:=S+[k];
  end;
 for i :=0 to 9 do
  if Not(i in S) then Write(i:2);
 Readln
End.
 
Какой же вы крутой, чисто всегда помогаете :)
 
Но небольшая проблема, паскаль выдает ошибку
"Program1.pas(13) : Нет перегруженной подпрограммы с такими типами параметров"
в этой строчке "Val(N,k,Code);"
 
Но небольшая проблема, паскаль выдает ошибку
"Program1.pas(13) : Нет перегруженной подпрограммы с такими типами параметров"
в этой строчке "Val(N,k,Code);"

Черт, так я и знал! АВС, конечно? Поубивал бы этих идиотов: и которые создали, и которые впендюривают это изделие №2 студентам. Естественно, прежде чем выкладывать, оттестировал. Но у меня-то нормальный Free Pascal, а не это...
Ладно, попробуйте так:
Код:
Var
 N,Q:String;
 i,k,M:Byte;
 S:Set of byte;
 Code:Integer;

Begin
 Write('N = ');
 Readln(N);
 M:=Length(N);
 S:=[];
 for i:=1 to M do
  begin
   Q:=N[i];
   Val(Q,k,Code);
   if Not(k in S) then S:=S+[k];
  end;
 for i :=0 to 9 do
  if Not(i in S) then Write(i:2);
 Readln
End.
 
Cпасибо, вы как всегда лучший
 
Назад
Сверху