|
|
Опции темы | Опции просмотра |
10.12.2015, 15:42 | #1 (permalink) |
Member
Регистрация: 09.12.2015
Сообщений: 23
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Паскаль.Даны 2 целых числа. Есть ли у них одинаковые(по значению) разряды?
|
10.12.2015, 15:42 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Рекомендую вам внимательно пролистать похожие топики Даны три положительных вещественных числа x, y, z Паскаль. Даны два символьных массива... Даны целые числа K и L В двоичном представлении числа инвертировать две последние цифры числа Паскаль. Проверить наличие цифр в записи числа |
10.12.2015, 15:49 | #2 (permalink) |
Специалист
Регистрация: 27.04.2015
Адрес: Москва
Сообщений: 1,423
Записей в дневнике: 4
Сказал(а) спасибо: 52
Поблагодарили 53 раз(а) в 16 сообщениях
Репутация: 18120
|
Ну тут два варианта или преобразовать оба числа в строки, или последовательным делением по модулю на 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. |
10.12.2015, 16:20 | #4 (permalink) |
Специалист
Регистрация: 27.04.2015
Адрес: Москва
Сообщений: 1,423
Записей в дневнике: 4
Сказал(а) спасибо: 52
Поблагодарили 53 раз(а) в 16 сообщениях
Репутация: 18120
|
А что должна выдавать, в задании про это нет ничего ?
Ну сделайте, что бы выдавала ... Замените вывод (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. |
10.12.2015, 16:43 | #5 (permalink) |
Member
Регистрация: 09.12.2015
Сообщений: 23
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Спасибо большое
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|