aggie Опубликовано 14 ноября, 2005 Жалоба Поделиться Опубликовано 14 ноября, 2005 Никак не могу придумать как найти самую большую цифру в числе (т.е. для числа 4317 ответ будет 7). Может кто-нибудь знает как это сделать? (желательно на INT) И ещё такой вопрос- даны два натуральных числа (например 254 и 761). Далее мне надо проверить соответствует ли запись этих чисел какому-нибудь числу в систесе счисления Н. Запись этих числе- я так понимаю, что мне надо их объединить, ну например 254 и 761 вместе получается 254761 и проверять мне надо уже это число. У меня получилось сделать это, используя string (string new=string(a)+string(b)). Но потом когда я пытаюсь сделать из этого функцию, то что-то не получается, функция не возвращает результат (ну или я неправильно написала функцию ). А возможно сделать ту же операцию, но используя INT? [mergetime]1131987402[/mergetime] в коментарии темы опечатка должно быть Dev-C++ Ссылка на комментарий Поделиться на другие сайты Поделиться
Тролль Опубликовано 14 ноября, 2005 Жалоба Поделиться Опубликовано 14 ноября, 2005 aggie: Подробно (объявления переменных и ввод/вывод) писать не буду, напишу только строчку (все переменные - целые) нахождения наибольшей цифры m в неотрицательном целом числе n из не больше чем пяти цифр (универсальней было бы из десяти, тогда надо сделать n типа long и соответственно изменить 5 на 10). Идея проста: находим последнюю цифру числа как остаток от деления на 10, запоминаем ее, если она больше ранее встреченных, в переменной m, избавляемся от последней цифры числа делением его на 10 и снова повторяем все в цикле. m=0; for(i=1;i<5;i++) {k=n % 10; if(k>m)m=k; n=n / 10}; Во втором вопросе непонятно, зачем два числа, поэтому условие выглядит странно. Если ты истолковала условие задачи правильно, то надо лишь проверить, что в записи не содержится недопустимых для этой системы счисления цифр. Опять находим наибольшую из цифр в этих числах (удобнее это делать в цикле - сначала для одного числа, потом для второго) и сравниваем с основанием системы счисления, эта цифра должна быть меньше его. P.S. На будущее: для таких задачек есть специальная тема Заказы "Сделайте все за меня". Ссылка на комментарий Поделиться на другие сайты Поделиться
aggie Опубликовано 15 ноября, 2005 Автор Жалоба Поделиться Опубликовано 15 ноября, 2005 Спасибо! :D я оказывается в конце не делила на 10 (n=n / 10) и поэтому у меня получалость неправильно. Про второй вопрос- а мне потом надо будет запись этих двух чисел перевести в десятичную систему счисления из системы счисления с базой Н(для всех возможных Н). Поэтому я так понимаю, что их надо объединить. :D P.S.: спасибо, тему видела. Но мне не надо писать всю программу за меня, я только не могла разобраться с вот этой частью Ссылка на комментарий Поделиться на другие сайты Поделиться
Тролль Опубликовано 15 ноября, 2005 Жалоба Поделиться Опубликовано 15 ноября, 2005 aggie: Программка для перевода чисел из произвольной в десятичную систему счисления есть в помянутой мной выше теме, правда, на Паскале, но может пригодиться. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения