PDA

View Full Version : مبتدی: اشکال گیری برنامه ای که عدد را وارون میکند



irwebnews
چهارشنبه 16 فروردین 1391, 21:22 عصر
سلام
من با زبان C یه برنامه نوشتم که عدد رو وارون میکنه و اگر عدد وارون شده با عدد ورودی برابر بود ، عدد ورودی رو چاپ میکنه.

با حلقه for



#include <stdio.h>
#include <conio.h>
void main()
{
int a,b,i,r,n;
printf("\n this program is for inverting a entered number. if inverted number is equal with entered number , then this program will print the entered number.");
printf("\n please enter a number");
scanf("%d", &a);
b=a;
for(n=0;a>10;r=a%10,n=(n*10)+r,a=a/10);
{
}
n=n+a;
printf("your inverted number is=%d",n);

if(b==a)
{
printf("\n inverted number is equal with entered number");
printf("\n entered number was=%d",b);
printf("\n end !");
}
else
{
printf("\n inverted number is not eual with entered number! sorry man!");
printf("\n i cannot display the entered number!");

}
getche();
}




باحلقه while




#include <stdio.h>
#include <conio.h>
void main()
{
int a,b,i,r,n;
n=0;
printf("\n this program is for inverting a entered number. if inverted number is equal with entered number , then this program will print the entered number.");
printf("\n please enter a number");
scanf("%d", &a);
b=a;
while(a>10)
{
r=a%10;
n=(n*10)+r;
a/10=a;
}
n=n+a;
printf("your inverted number is=%d",n);

if(b==a)
{
printf("\n inverted number is equal with entered number");
printf("\n entered number was=%d",b);
printf("\n end !");
}
else
{
printf("\n inverted number is not eual with entered number! sorry man!");
printf("\n i can not display the entered number!");

}
getche();
}






الگوریتم:
1- شروع
2- n=0
3- اگر a>10 بود برو بعدی و اگر نبود برو به 7
4- باقیمانده تقسیم a بر 10 را در r قرار بده
5- nx10+r=n
6- جواب تقسیم a بر 10 را در a قرار بده و برگرد به 3
7- n+a را چاپ کن
8- پایان

++math
چهارشنبه 16 فروردین 1391, 22:29 عصر
تصحیح می شود
دوباره میذارمش

irwebnews
چهارشنبه 16 فروردین 1391, 23:09 عصر
استاد اینطوری به ما گفته :
برنامه ای بنویسید که عدد ورودی را وارون کند ، اگر وارون عدد ، با خودش برابر بود. عدد ورودی را در خروجی نمایش دهد
یعنی اگر مثلا عدد 323 توسط کاربر وارد شد
برنامه 323 رو چاپ کند. چون وارون 323 خودش میشه.

shahmohammadi
چهارشنبه 16 فروردین 1391, 23:16 عصر
سلام.
برنامه رو كامل نگاه نكردم. حلقه ي فورتون اشتباست. در خطوط 13 و 28 در آخر جمله ; رو ننوشتيد. براي مقايسه از a==b استفاده كنيد.

راستي به جاي فور بهتره از وايل استفاده كنيد.

++math
چهارشنبه 16 فروردین 1391, 23:27 عصر
متوجه شدم برداشتم اشتباه بود
تصیح می کنمش براتون

irwebnews
چهارشنبه 16 فروردین 1391, 23:47 عصر
سلام.
برنامه رو كامل نگاه نكردم. حلقه ي فورتون اشتباست. در خطوط 13 و 28 در آخر جمله ; رو ننوشتيد. براي مقايسه از a==b استفاده كنيد.

راستي به جاي فور بهتره از وايل استفاده كنيد.

حلقه فور کجاش اشتباه هست؟
مرسی

irwebnews
پنج شنبه 17 فروردین 1391, 00:02 صبح
با حلقه while هم نوشتم و به پست اول اضافه کردم

shahmohammadi
پنج شنبه 17 فروردین 1391, 00:23 صبح
تو حلقه ي فور انتصاب هاتون درست نبود.
دستوراتي مثل a/10=a; درست نيستند. بايد بنويسيد:a=a/10
در مورد دو دستور ديگر هم همينطور.