• Предмет: Информатика
  • Автор: hastone
  • Вопрос задан 4 месяца назад

Язык c++ Даю 100б
Дано натуральное число n. Найдите максимальную цифру и ее порядковый номер. Если максимальных цифр несколько, то определите порядковый номер последней из них, если цифры считать слева направо.

Ответы

Ответ дал: Quverqu
1

Ответ:

#include <iostream>

#include <cmath>

using namespace std;

int main() {

   int n, max_num = 0, max_pos = 0;

   cin >> n;

   for (int i = 0, t = n; t != 0; t /= 10, ++i) {

       int digit = t % 10;

       if (digit > max_num) {

           max_num = digit;

           max_pos = i + 1;

       }

   }

   cout << max_num << " " << max_pos << endl;

   return 0;

}

Объяснение:

В этом коде используется цикл for, чтобы проходить через все цифры числа. Для этого цикл проходит по переменной t, которая последовательно делится на 10. Каждый раз, когда мы делим t на 10, мы получаем очередную цифру числа. Для того, чтобы получить эту цифру, мы используем оператор взятия остатка от деления %. Затем мы сравниваем полученную цифру с текущим максимальным числом. Если она больше, то она становится новым максимальным числом и мы запоминаем ее позицию. В конечном итоге, мы выводим максимальное число и его позицию.


hastone: Сможешь сделать это-же задание только используя while do; do while? Опубликую ещё один такой вопрос на 100б.
hastone: если ответишь
Quverqu: Привет, можешь задать вопрос с самой минимальной благодарностью
Вас заинтересует