profile
Размещено 6 лет назад по предмету Информатика от Stas1211

Написать программу, которая находит одинаковые цифры двух чисел. В pascal, желательно через function. Можно чтобы токого не было.Входные данные:466 476. Выходные даныые:6 6.
Заранее спасибо

  1. Ответ на вопрос
    Ответ на вопрос дан Аккаунт удален
    PascalABC.NET 3.3.5, сборка 1659 от 09.04.2018
    Внимание! Если программа не работает, обновите версию!

    function Duplicates(a,b:int64):array of char;
    begin
      var ha:=a.ToString.ToHashSet;
      ha.IntersectWith(b.ToString.ToHashSet);
      Result:=ha.ToArray
    end;  

    begin
      var m,n:int64;
      Write('Введите через пробел два натуральных числа: ');
      Read(m,n);
      var r:=Duplicates(m,n);
      if r.Length=0 then Writeln('Нет цифр, встречающихся в обоих числах')
      else r.Println(',')
    end.

    Примеры
    Введите через пробел два натуральных числа: 12345 6789067
    Нет цифр, встречающихся в обоих числах

    Введите через пробел два натуральных числа: 1342103 6748644
    4

    Реализация без множеств

    procedure nToArray(n:int64; a:array of boolean);
    begin
      for var i:=0 to 9 do a[i]:=False;
      if n=0 then a[0]:=True
      else
        while n>0 do begin
          a[n mod 10]:=True;
          n:=n div 10
          end
    end;

    function Duplicates(a,b:int64):array of boolean;
    begin
      var ma:=new boolean[10];
      var mb:=new boolean[10];
      nToArray(a,ma);
      nToArray(b,mb);
      Result:=new boolean[10];
      for var i:=0 to 9 do
        Result[i]:=ma[i] and mb[i]
    end; 

    begin
      var m,n:int64;
      Write('Введите через пробел два натуральных числа: ');
      Read(m,n);
      var r:=Duplicates(m,n);
      Write('Совпадающие цифры: ');
      for var i:=0 to 9 do
        if r[i] then Write(i,' ');
      Writeln
    end.

    Пример
    Введите через пробел два натуральных числа: 12352423 98789635233
    Совпадающие цифры: 2 3 5
    1. Ответ на вопрос
      Ответ на вопрос дан Giammy
      Почему? Этот код же почти поход на код ТурбоПаскаля за исключения кое-каких деталей
    2. Ответ на вопрос
      Ответ на вопрос дан Giammy
      похож*
    3. Ответ на вопрос
      Ответ на вопрос дан Аккаунт удален
      Вот именно эти детали. Тип для массива определить, обеспечить инициализации, массив не может быть возвращен функцией, ... кое что еще - так и набежит.
    4. Ответ на вопрос
      Ответ на вопрос дан Аккаунт удален
      Вы слишком быстро отвыкли от "турбофишек" )))
    5. Ответ на вопрос
      Ответ на вопрос дан Giammy
      Видимо
Не тот ответ на вопрос, который вам нужен?
Найди верный ответ
Самые новые вопросы
tegysigalpa2012
Русский язык - 6 лет назад

Помогите решить тест по русскому языку тест по русскому языку «местоимение. разряды местоимений» для 6 класса 1. укажите личное местоимение: 1) некто 2) вас 3) ни с кем 4) собой 2. укажите относительное местоимение: 1) кто-либо 2) некоторый 3) кто 4) нам 3. укажите вопросительное местоимение: 1) кем-нибудь 2) кем 3) себе 4) никакой 4. укажите определительное местоимение: 1) наш 2) который 3) некий 4) каждый 5. укажите возвратное местоимение: 1) свой 2) чей 3) сам 4) себя 6. найдите указательное местоимение: 1) твой 2) какой 3) тот 4) их 7. найдите притяжательное местоимение: 1) самый 2) моего 3) иной 4) ничей 8. укажите неопределённое местоимение: 1) весь 2) какой-нибудь 3) любой 4) этот 9. укажите вопросительное местоимение: 1) сколько 2) кое-что 3) она 4) нами 10. в каком варианте ответа выделенное слово является притяжательным местоимением? 1) увидел их 2) её нет дома 3) её тетрадь 4) их не спросили

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.