PDA

View Full Version : سوال: تغییر کد برنامه برای بدست آوردن عدد متقارن



R_Rajaee_Rad
شنبه 07 آذر 1388, 11:55 صبح
سلام
این برنامه عدد رو معکوس میکنه
حالا اگر بخوام این برنامه عدد رو چک کنه بعد بگه متقارن(عددی که از هر طرف یک جور خونده بشه مثل 131) هست یا نه

include<iostream>
using namespace std;
void main()
{
int num,i,main=0,sir=0;
cin>>num;
while(num>0){
sir=num%10;
num=num/10;
cout<<sir;
}

getchar();
getchar();

}تقریبا الگوریتم رو فهمیدم اول عدد رو معکوس بعد عدد معکوس رو با عدد واقعی مقایسه میکنیم
مشکل اینجاست که حلقه عدد رو تیکه تیکه میکنه
اگر راهنمایی کنید ممنون میشم

clover
شنبه 07 آذر 1388, 13:36 عصر
سلام
این برنامه عدد رو معکوس میکنه
حالا اگر بخوام این برنامه عدد رو چک کنه بعد بگه متقارن(عددی که از هر طرف یک جور خونده بشه مثل 131) هست یا نه

include<iostream>
using namespace std;
void main()
{
int num,i,main=0,sir=0;
cin>>num;
while(num>0){
sir=num%10;
num=num/10;
cout<<sir;
}

getchar();
getchar();

}تقریبا الگوریتم رو فهمیدم اول عدد رو معکوس بعد عدد معکوس رو با عدد واقعی مقایسه میکنیم
مشکل اینجاست که حلقه عدد رو تیکه تیکه میکنه
اگر راهنمایی کنید ممنون میشم

ببینید در حلقه چطور عدد به ارقام تشکیل دهندش تجزیه ( تکه تکه )میشه ، با پیاده سازی عکس این عمل می تونید یک عدد جدید به دست بیارید که معکوس عدد قبلی هست :


include<iostream>
using namespace std;
void main()
{
int num,i,main=0,sir=0, obvNum = 0;
cin>>num;
while(num>0){
sir=num%10;
num=num/10;

obvNum *= 10;
obvNum += sir;
}

getchar();
getchar();

}

عدد obvNum معکوس عدد هست.

Salar Ashgi
یک شنبه 08 آذر 1388, 10:44 صبح
برای اینکه مشکل تجزیه عدد حل شود ، میتونید قبل از محاسبات یک کپی از متغیر بگیرید .

tdkhakpur
یک شنبه 08 آذر 1388, 13:54 عصر
include<iostream>
using namespace std;
void main()
{
int num,i,main=0,sir=0, num2=0; // اضافه
cin>>num;
while(num>0){
sir=num%10;
num=num/10;
num2 = num2*10+sir; // اضافه
cout<<sir;
}
if num==num2)
cout<<"motagaren";
eles
cout<<"namotagaren";
getchar();
getchar();

}