Язык c++ Даю 100б Дано натуральное число n. Найдите максимальную цифру и ее порядковый номер. Если максимальных цифр несколько, то определите порядковый номер последней из них, если цифры считать слева направо.
В этом коде используется цикл for, чтобы проходить через все цифры числа. Для этого цикл проходит по переменной t, которая последовательно делится на 10. Каждый раз, когда мы делим t на 10, мы получаем очередную цифру числа. Для того, чтобы получить эту цифру, мы используем оператор взятия остатка от деления %. Затем мы сравниваем полученную цифру с текущим максимальным числом. Если она больше, то она становится новым максимальным числом и мы запоминаем ее позицию. В конечном итоге, мы выводим максимальное число и его позицию.
1 votes Thanks 1
hastone
Сможешь сделать это-же задание только используя while do; do while? Опубликую ещё один такой вопрос на 100б.
Answers & Comments
Ответ:
#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, мы получаем очередную цифру числа. Для того, чтобы получить эту цифру, мы используем оператор взятия остатка от деления %. Затем мы сравниваем полученную цифру с текущим максимальным числом. Если она больше, то она становится новым максимальным числом и мы запоминаем ее позицию. В конечном итоге, мы выводим максимальное число и его позицию.