Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/26: Рейтинг темы: голосов - 26, средняя оценка - 4.85
0 / 0 / 0
Регистрация: 16.12.2019
Сообщений: 4
1

Ввести два двузначных числа. Вывести цифру (цифры), если они содержится в обоих числах

16.12.2019, 09:49. Показов 5112. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
2)Ввести два двузначных числа. Вывести цифру (цифры), если они содержится в обоих числах
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.12.2019, 09:49
Ответы с готовыми решениями:

Даны два числа, вывести на экран цифры, которых нет в обоих числах
Даны два числа, вывести на экран цифры, которых нет в обоих числах.

Заданы два числа M и N. Какое из двух чисел будет больше, если у обоих числах переставить крайние цифры
Заданы два числа M и N. Какое из двух чисел будет больше, если у обоих числах переставить крайние...

Какое из двух чисел будет больше, если в обоих числах переставить крайние цифры?
3. Заданы два числа M и N. Какое из двух чисел будет больше, если в обоих числах переставить...

Ввести три числа. Вывести первые цифры чисел. использовать процедуру замены числа на его первую цифру
Ввести три числа. Вывести первые цифры чисел. использовать процедуру замены числа на его первую...

6
Эксперт Pascal/Delphi
6811 / 4568 / 4819
Регистрация: 05.06.2014
Сообщений: 22,438
16.12.2019, 14:32 2
Лучший ответ Сообщение было отмечено ZX Spectrum-128 как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
var
  i, x, y: integer;
  sx, sy: string;
  ch: char;
  qz, qx, qy: set of char;
 
begin
  qx := [];
  qy := [];
  qz := [];
  write('Введите 1-е число: ');
  readln(x);
  write('Введите 2-е число: ');
  readln(y);
  str(x, sx);
  str(y, sy);
  for i := 1 to length(sx) do
    include(qx, sx[i]);
  for i := 1 to length(sy) do
    include(qy, sy[i]);
  qz := qx * qy;  
  for i := 0 to 255 do
    if chr(i) in qz then
      write(chr(i), ' ');
end.
0
Модератор
10093 / 5431 / 3359
Регистрация: 17.08.2012
Сообщений: 16,612
17.12.2019, 12:15 3
Лучший ответ Сообщение было отмечено ZX Spectrum-128 как решение

Решение

Костыли в виде преобразования числа в строку не требуется.

Для двузначных положительных чисел:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var
  x, y: byte;
  m: set of byte;
 
begin
  writeln('Введите два положительных двузначных числа.');
  write('x = ');
  readln(x);
  write('y = ');
  readln(y);
  m := [x div 10, x mod 10] * [y div 10, y mod 10];
  write('Общие цифры:');
  if m = []
    then write(' не найдены')
    else for x := 0 to 9 do if x in m then write(x:2);
  readln
end.
Для любых целых чисел:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
type
  setb = set of byte;
 
procedure comm(c: char; var ma: setb; const mb: setb);
var
  a: longint;
  d: byte;
begin
  write(c, ' = ');
  readln(a);
  a := abs(a);
  repeat
    d := a mod 10;
    if d in mb then include(ma, d);
    a := a div 10
  until a = 0
end;
 
var
  i: integer;
  m, my: setb;
 
begin
  writeln('Введите два целых числа.');
  comm('x', my, [0..9]);
  comm('y', m, my);
  write('Общие цифры:');
  if m = []
    then write(' не найдены')
    else for i := 0 to 9 do if i in m then write(i:2);
  readln
end.
1
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7797 / 4620 / 2831
Регистрация: 22.11.2013
Сообщений: 13,125
Записей в блоге: 1
17.12.2019, 13:44 4
Лучший ответ Сообщение было отмечено ZX Spectrum-128 как решение

Решение

Cyborg Drone,
Как-то сложно...
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
type TDigits = set of 0..9;
function Digits(n: Longint): Word;
var r: TDigits;
begin
  n:=Abs(n); r:=[];
  repeat Include(r,n mod 10); n:=n div 10;
  until n=0;
  Digits:=Word(r);
end;
var m, n: Longint; r: Word; i: Integer;
begin
  Write('m n: '); ReadLn(m,n);
  r:=Digits(m) and Digits(n);
  Write('Общие цифры:');
  if r=0
  then Write(' <отсутствуют>')
  else for i:=0 to 9 do if i in TDigits(r) then Write(i:2);
end.
2
Модератор
10093 / 5431 / 3359
Регистрация: 17.08.2012
Сообщений: 16,612
17.12.2019, 19:11 5
bormant, и правда у меня сложно... Я напрасно погнался за универсальной процедурой.

Кстати, вопрос: всегда ли множество является битовым полем?
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7797 / 4620 / 2831
Регистрация: 22.11.2013
Сообщений: 13,125
Записей в блоге: 1
17.12.2019, 20:56 6
Лучший ответ Сообщение было отмечено Cyborg Drone как решение

Решение

Цитата Сообщение от Cyborg Drone Посмотреть сообщение
всегда ли множество является битовым полем?
И полем битовым не всегда, и множество не всегда конструируется, например, тут наверняка будет пара cmp и условных переходов:
Pascal
1
 if s[i] in ['a'..'z'] then ...;
Если а) есть переменная-множество и б) стремятся обеспечить совместимость с TP, то наверняка будет множество

Тем не менее намек понял, нивелирую
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function Digits(n: Longint): Word;
var r: Word;
begin
  n:=Abs(n); r:=0;
  repeat r:=r or 1 shl (n mod 10); n:=n div 10;
  until n=0;
  Digits:=r;
end;
var m, n: Longint; r: Word; i: Integer;
begin
  Write('m n: '); ReadLn(m,n);
  r:=Digits(m) and Digits(n);
  Write('Общие цифры:');
  if r=0
  then Write(' <отсутствуют>')
  else for i:=0 to 9 do if 0<>r and (1 shl i) then Write(i:2);
end.
1
Модератор
10093 / 5431 / 3359
Регистрация: 17.08.2012
Сообщений: 16,612
17.12.2019, 21:07 7
bormant, нет слов.
0
17.12.2019, 21:07
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.12.2019, 21:07
Помогаю со студенческими работами здесь

Ввести три числа. Вывести последние цифры чисел. Использовать процедуру замены числа на его последнюю цифру
Ввести три числа. Вывести последние цифры чисел. Использовать процедуру замены числа на его...

С клавиатуры ввести два двузначных числа
С клавиатуры ввести два двузначных числа. В каждом из чисел выделить его цифры. Считая, что цифры,...

Дано два целых двузначных числа. Верно ли, что все цифры первого числа больше соответствующих цифр второго числа?
Дано два целых двузначных числа. Верно ли, что все цифры первого числа больше соответствующих цифр...

Задаются два двузначных числа. Определить, являются ли они зеркальным отображение друг друга
Можете решить эту простую задачу. И объяснить как вы ее решили. Задача должна решаться так, я ввожу...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
[Golang] 121. Best Time to Buy and Sell Stock
alhaos 28.01.2025
В этой задаче мы получаем слайс целых чисел, которые означают цену акции в разные моменты времени, и должны вернуть максимально возможную прибыль от купли продажи акции. / / . . .
Проектирование и моделирование
hw_wired 28.01.2025
Введение в моделирование Моделирование представляет собой один из фундаментальных методов научного познания, который позволяет изучать объекты и явления через создание их упрощенных аналогов. В. . .
Алгоритмы и исполнители
hw_wired 28.01.2025
Введение в алгоритмы В современном мире информационных технологий алгоритмы играют основополагающую роль в решении различных задач и автоматизации процессов. Алгоритм представляет собой точную. . .
Хранение информации
hw_wired 28.01.2025
Введение: Роль систем хранения информации в современном мире В современную эпоху цифровых технологий эффективное хранение информации становится одним из ключевых факторов успешного развития любой. . .
Обработка числовой информации
hw_wired 28.01.2025
Введение в обработку числовой информации В современном мире обработка числовой информации стала неотъемлемой частью как профессиональной деятельности, так и повседневной жизни. Электронные таблицы. . .
Мультимедиа
hw_wired 28.01.2025
Введение в мультимедийные технологии В современном мире мультимедийные технологии стали неотъемлемой частью нашей жизни, проникнув во все сферы человеческой деятельности. Термин "мультимедиа". . .
Обработка текстовой информации
hw_wired 28.01.2025
Введение в обработку текстовой информации В современном мире обработка текстовой информации играет фундаментальную роль в различных сферах человеческой деятельности. Текстовые редакторы стали. . .
Обработка графической информации
hw_wired 28.01.2025
Введение в компьютерную графику Компьютерная графика стала неотъемлемой частью современного цифрового мира, пройдя впечатляющий путь развития от простейших черно-белых изображений до сложных. . .
Python в Алгоритмике: Решение задач
hw_wired 28.01.2025
Введение в Python и Алгоритмику В современном мире программирование стало неотъемлемой частью образования и профессионального развития. Python зарекомендовал себя как один из самых популярных и. . .
Компьютер как универсальное устройство для работы с информацией
hw_wired 28.01.2025
Введение в устройство компьютера Компьютер представляет собой универсальное электронное устройство, предназначенное для автоматической обработки информации. В современном мире компьютер стал. . .
Информация и информационные процессы
hw_wired 28.01.2025
Понятие информации и ее виды В современном мире информация является одним из фундаментальных понятий, пронизывающих все сферы человеческой деятельности. Под информацией понимают любые сведения об. . .
Алгоритмика
hw_wired 28.01.2025
Введение: Основы алгоритмики и её роль в информатике В современном мире программирование и алгоритмическое мышление стали неотъемлемой частью образования и профессиональной деятельности. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru