Programming Basics SQL HTML CSS JavaScript Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals Learn Typing

تحديات برمجيةالتحدي الأول - حل التمرين الثالث بلغة C++

المطلوب

أكتب برنامج يطلب من المستخدم إدخال رقم. بعدها يعرض له إن كان هذا الرقم عبارة عن Palindrome أم لا.
الـ Palindrome عبارة عن رقم أعداده معكوسة بشكل متساوي من اليمين إلى اليسار و من اليسار إلى اليمين.

أمثلة: الأرقام التالية جميعها تعتبر أرقام Palindrome: 1001 - 123321 - 4554 - 45654.


الحل بلغة C++

الطريقة الأولى لحل التمرين.

#include <iostream>
int main() {
int number;
int originalNumber;
int reversedNumber = 0;
int remainder;
std::cout << "Enter a number: ";
std::cin >> number;
originalNumber = number;
while (number != 0)
{
remainder = number % 10;
reversedNumber = reversedNumber * 10 + remainder;
number /= 10;
}
if (originalNumber == reversedNumber)
{
std::cout << originalNumber << " is a palindrome";
}
else
{
std::cout << originalNumber << " is not a palindrome";
}
char end; std::cin >> end;
return 0;
}
#include <iostream> int main() { int number; int originalNumber; int reversedNumber = 0; int remainder; std::cout << "Enter a number: "; std::cin >> number; originalNumber = number; while (number != 0) { remainder = number % 10; reversedNumber = reversedNumber * 10 + remainder; number /= 10; } if (originalNumber == reversedNumber) { std::cout << originalNumber << " is a palindrome"; } else { std::cout << originalNumber << " is not a palindrome"; } char end; std::cin >> end; return 0; }

الطريقة الثانية لحل التمرين و الحصول على نفس النتيجة.

#include <iostream>
#include <string>
int main() {
bool isPalindrome = true;
int n;
std::cout << "Enter a number: ";
std::cin >> n;
std::string nString = std::to_string(n) + "";
for (int i = 0; i < nString.length() / 2; i++)
{
if (nString[i] != nString[nString.length() - i - 1])
{
isPalindrome = false;
break;
}
}
if (isPalindrome)
{
std::cout << n << " is a palindrome";
}
else
{
std::cout << n << " is not a palindrome";
}
char end; std::cin >> end;
return 0;
}
#include <iostream> #include <string> int main() { bool isPalindrome = true; int n; std::cout << "Enter a number: "; std::cin >> n; std::string nString = std::to_string(n) + ""; for (int i = 0; i < nString.length() / 2; i++) { if (nString[i] != nString[nString.length() - i - 1]) { isPalindrome = false; break; } } if (isPalindrome) { std::cout << n << " is a palindrome"; } else { std::cout << n << " is not a palindrome"; } char end; std::cin >> end; return 0; }

سنحصل على النتيجة التالية إذا قام المستخدم بإدخال الرقم 1234 عند التشغيل.

Enter a number: 1234
1234 is not a palindrome
		

سنحصل على النتيجة التالية إذا قام المستخدم بإدخال الرقم 1234321 عند التشغيل.

Enter a number: 1234321
1234321 is a palindrome