IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Цикл, простенькая задача с использованием цикла
йцукен
сообщение 15.01.2008 0:38
Сообщение #1


Гость






Сдрасте

даны 2 числа , "a" и "b" , нужно найти есть ли в этих 2 - ух числах одинаковые цифры , например
256 и 216 , совпадающими буду 2 и 6 , заранее неизвестно какой длины число , в этом собственно и проблема.
есть идея сделать цикл repeat и в нём делить числа (mod) но как правильно это сделать никак не пойму , помогите пожалуйста smile.gif
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 6)
Michael_Rybak
сообщение 15.01.2008 0:43
Сообщение #2


Michael_Rybak
*****

Группа: Модераторы
Сообщений: 1 046
Пол: Мужской
Реальное имя: Michael_Rybak

Репутация: -  32  +


сделай цикл for от 0 до 9, и внутри него проверяй, есть ли такая цифра в каждом из чисел.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
мисс_граффити
сообщение 15.01.2008 0:57
Сообщение #3


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


а они должны быть на одинаковых местах? или не обязательно?


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
йцукен
сообщение 15.01.2008 9:12
Сообщение #4


Гость






цифры должны быть на одинаковых местах , и нам заранее низвестно СКОЛЬКО цифр в числе и КАКИЕ они , как я понял нужно использовать mod но вот на что именно делить ...
 К началу страницы 
+ Ответить 
volvo
сообщение 15.01.2008 9:14
Сообщение #5


Гость






На 10, естественно... Проходишь по двум числам одновременно деля их на 10, и смотришь, равны ли остатки от деления. Если равны - то и выводишь их на печать...

Цикл заканчивается, когда одно из чисел становится равным 0...
 К началу страницы 
+ Ответить 
йцукен
сообщение 15.01.2008 9:24
Сообщение #6


Гость






вот что у меня получилось

Код

program awda;
var a,b:integer;
begin
readln(a);
readln(b);
repeat
a:=a mod 10;
b:=b mod 10;
if a = b then writeln('da');
until a or b <> 0
end.
 К началу страницы 
+ Ответить 
volvo
сообщение 15.01.2008 9:31
Сообщение #7


Гость






Я бы на твоем месте почитал книжку (в частности - о работе с логическими выражениями, ибо оно у тебя записано вообще неправильно)...

var
a, b: integer;
begin
readln(a);
readln(b);
repeat
if (a mod 10) = (b mod 10) then writeln(a mod 10);
a := a div 10; b := b div 10;
until (a = 0) or (b = 0)
end.

Так лучше?
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 10:50
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"