Комментарии к коду (пояснения) - C#
Формулировка задачи:
namespace Palindrom
{
class Program
{
static void Main(string[] args)
{
int number = 0;
while (true)
{
Console.Write("Введите число: ");
if (int.TryParse(Console.ReadLine(), out number))
break;
else
Console.WriteLine("Неверное число.");
}
int oldValue = number;
int newValue = 0;
while (number > 0)
{
int dig = number % 10;
newValue = newValue * 10 + dig;
number = number / 10;
}
if (newValue == oldValue)
Console.WriteLine("Число является палиндромом");
else
Console.WriteLine("Число не является палиндромом");
Console.Write("Нажмите любую клавишу...");
Console.ReadKey();
}
}
}Решение задачи: «Комментарии к коду (пояснения)»
textual
Листинг программы
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int number = 0;
while (true)
{
while (true)
{
Console.Write("Введите число: ");
if (int.TryParse(Console.ReadLine(), out number)) // записываем число типа Int (9 к примеру)
break;
else
Console.WriteLine("Неверное число."); // если вводимые символы не сопадают с Int
}
int oldValue = number; // oldValue присваеваем number (9)
int newValue = 0; //
while (number > 0) // 9 > 0
{
int dig = number % 10; // не особо понял суть этой строки (вычисляет остаток после деления (0))
newValue = newValue * 10 + dig; // 0 * 10 + 9
number = number / 10; // 9 / 10 = 0, в int дробная часть отбрасывается, (0) выход из цикла
}
if (newValue == oldValue) // сравнение значений (newValue = 9 и oldValue = 9 )
Console.WriteLine("Число является палиндромом");
else
Console.WriteLine("Число не является палиндромом");
}
}
}
}