Перейти к содержанию
СофтФорум - всё о компьютерах и не только

Наибольшая цифра в числе


Рекомендуемые сообщения

Никак не могу придумать как найти самую большую цифру в числе :bleh: (т.е. для числа 4317 ответ будет 7). Может кто-нибудь знает как это сделать? (желательно на INT)

И ещё такой вопрос- даны два натуральных числа (например 254 и 761). Далее мне надо проверить соответствует ли запись этих чисел какому-нибудь числу в систесе счисления Н. Запись этих числе- я так понимаю, что мне надо их объединить, ну например 254 и 761 вместе получается 254761 и проверять мне надо уже это число. У меня получилось сделать это, используя string (string new=string(a)+string(b)). Но потом когда я пытаюсь сделать из этого функцию, то что-то не получается, функция не возвращает результат :sly: (ну или я неправильно написала функцию :bye1: ). А возможно сделать ту же операцию, но используя INT?

[mergetime]1131987402[/mergetime]

в коментарии темы опечатка :bleh: должно быть Dev-C++ :no:

Ссылка на комментарий
Поделиться на другие сайты

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. На будущее: для таких задачек есть специальная тема Заказы "Сделайте все за меня".

Ссылка на комментарий
Поделиться на другие сайты

Спасибо! :D

я оказывается в конце не делила на 10 (n=n / 10) и поэтому у меня получалость неправильно.

Про второй вопрос- а мне потом надо будет запись этих двух чисел перевести в десятичную систему счисления из системы счисления с базой Н(для всех возможных Н). Поэтому я так понимаю, что их надо объединить. :D

P.S.: спасибо, тему видела. Но мне не надо писать всю программу за меня, я только не могла разобраться с вот этой частью :bye1:

Ссылка на комментарий
Поделиться на другие сайты

aggie:

Программка для перевода чисел из произвольной в десятичную систему счисления есть в помянутой мной выше теме, правда, на Паскале, но может пригодиться.

Ссылка на комментарий
Поделиться на другие сайты

Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...