Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 10.12.2015, 15:42   #1 (permalink)
votsarskam
Member
 
Регистрация: 09.12.2015
Сообщений: 23
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Паскаль.Даны 2 целых числа. Есть ли у них одинаковые(по значению) разряды?

Даны 2 целых числа. Есть ли у них одинаковые(по значению) разряды?
votsarskam вне форума   Ответить с цитированием

Старый 10.12.2015, 15:42
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Рекомендую вам внимательно пролистать похожие топики

Даны три положительных вещественных числа x, y, z
Паскаль. Даны два символьных массива...
Даны целые числа K и L
В двоичном представлении числа инвертировать две последние цифры числа
Паскаль. Проверить наличие цифр в записи числа

Старый 10.12.2015, 15:49   #2 (permalink)
MagentaTiger
Специалист
 
Аватар для MagentaTiger
 
Регистрация: 27.04.2015
Адрес: Москва
Сообщений: 1,427
Записей в дневнике: 4
Сказал(а) спасибо: 52
Поблагодарили 53 раз(а) в 16 сообщениях
Репутация: 17820
По умолчанию

Ну тут два варианта или преобразовать оба числа в строки, или последовательным делением по модулю на 10
типа
Код:
program a;
var m1,m2,d1,d2:Integer;
begin
write('Введите первое число : ');
readln(d1);
write('Введите второе число : ');
readln(d2);
while (d1<>0) and (d2<>0) do
begin
   m1 := d1 mod 10;
   m2 := d2 mod 10;
   if m1=m2 then 
   begin
      writeln('Одинаковый разряд есть');
      break;
   end;
      d1 := d1 div 10;
      d2 := d2 div 10; 
end;
readln;
end.
правда желательно бы еще предусмотреть обработку особого случая, когда оба числа изначально равны нулю.
MagentaTiger вне форума   Ответить с цитированием
Старый 10.12.2015, 16:14   #3 (permalink)
votsarskam
Member
 
Регистрация: 09.12.2015
Сообщений: 23
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

При вводе разных чисел программа не выдает результат
votsarskam вне форума   Ответить с цитированием
Старый 10.12.2015, 16:20   #4 (permalink)
MagentaTiger
Специалист
 
Аватар для MagentaTiger
 
Регистрация: 27.04.2015
Адрес: Москва
Сообщений: 1,427
Записей в дневнике: 4
Сказал(а) спасибо: 52
Поблагодарили 53 раз(а) в 16 сообщениях
Репутация: 17820
По умолчанию

Цитата:
Сообщение от votsarskam Посмотреть сообщение
При вводе разных чисел программа не выдает результат
А что должна выдавать, в задании про это нет ничего ?
Ну сделайте, что бы выдавала ... Замените вывод (writeln) на установку какого либо флага, а после цикла анализируйте этот флаг ...
да еще бы надо добавить обработку разно знаковых чисел.
Код:
program a;
var m1,m2,d1,d2:Integer;
f:Boolean;
begin
f:=false;
write('Введите первое число : ');
readln(d1);
write('Введите второе число : ');
readln(d2);

{* проверим частный случай, когда оба числа 0 *}
if (d1=0) and (d2=0) then f:=true;

{* приведем к одному знаку *}
d1:= abs(d1);
d2:= abs(d2);

while (d1<>0) and (d2<>0) do
begin
   m1 := d1 mod 10;
   m2 := d2 mod 10;
   if m1=m2 then 
   begin
     f:=true;
      break;
   end;
      d1 := d1 div 10;
      d2 := d2 div 10; 
end;
if f then
   writeln('Одинаковый разряд есть')
else
   writeln('Одинаковых разрядов не найдено');
readln;
end.
MagentaTiger вне форума   Ответить с цитированием
Старый 10.12.2015, 16:43   #5 (permalink)
votsarskam
Member
 
Регистрация: 09.12.2015
Сообщений: 23
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Спасибо большое
votsarskam вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 06:05.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.