ARDUINO Палиндромы

Sanart

✩✩✩✩✩✩✩
10 Окт 2021
12
0
Изучаю C++.
Задание узнать является ли число палиндромой.
Не смог придумать решение.
Нашёл код в интернете, и он рабочий, но я не понимаю как он работает.
Прошу объяснить работу функции в коде.
 

Вложения

poty

★★★★★✩✩
19 Фев 2020
1,391
437
@Sanart, а Вы бы сели, да расписали по шагам, что происходит внутри функции. Всего-то и получится, что 5 или меньше циклов while из трёх действий. Или как Вы хотели разобраться? (не понимаю, кстати, почему не инициализирован y?)
Оператор % - это остаток от деления, то есть x%10 даёт последнюю цифру числа. x/=10 - целочисленное деление, поэтому после каждого такого действия у числа отбрасывается последняя цифра.
у накапливает цифры, начиная с последней (каждый цикл *10 даёт смещение уже накопленных цифр в старшие разряды и помещение очередной цифры в младший разряд).
Результат сравнивается и если равен - возвращается истина.
Непонятно, почему нельзя сразу цифры сравнивать, но это уже не ко мне вопрос.
 
  • Лойс +1
Реакции: Sanart

Sanart

✩✩✩✩✩✩✩
10 Окт 2021
12
0
@poty,Я расписал,но не правильно понял работу do while.(проблема была в непонимании)