PDA

View Full Version : مقلوب یک عدد



vbapr2005
یک شنبه 01 آبان 1384, 02:37 صبح
سلام بچه ها.
من سال اول رشته ی علوم کامپیوتر هستم. دانشگاه قم :افسرده:

همونطوری که میدونید تو ترم اول ما فقط یه درس تخصصی داریم: مبانی کامپیوتر و الگوریتم ها

یکی از تمرینایی که استادمون تو جلسه ی پیش گفت بدست اوردن مقلوب یه عدد بودش در شرایطی که اون عدد صحیحه و نمیدونیم چند رقمیه. که من تونستم اینو حلش کنم. گفتم اینجا بذارم اگه به درد کسی خورد استفاده کنه :لبخندساده

1 شروع
2 n را بخوان (عدد اصلی)
3 10 -> i (منظورم اینه که ده رو ببر تو i)
4 0 -> j
5 0 -> sum (مقلوب عدد اصلی)

6 اگر (براکت (n تقسیم بر i)) بزرگتر از صفر بود آنگاه i*10 -> i و برو به 6 (همین خط)


7 [(10n/i)] -> A
8 A*(10^j) + sum -> sum
9 j + 1 -> j
10 i/10 -> i
11 اگر i مخالف صفر آنگاه برو به 7

12 sum را چاپ کن
13 توقف کن

فکر می کنم اگه این کد ها رو تو یه کاغذ بنویسید و بعدش بخونید که ببینید چیکار کردم بهتر متوجه بشید چون من خودم هم اینجوری نمی فهمم چی به چیه :گیج: :چشمک:

Developer Programmer
یک شنبه 01 آبان 1384, 11:12 صبح
راه ساده تر واسه زمانی که خواستید پیاده سازیش کنید: عدد رو به رشته تبدیل کنید و بعد رشته رو معکوس کنید!

vbapr2005
دوشنبه 02 آبان 1384, 11:20 صبح
راه ساده تر واسه زمانی که خواستید پیاده سازیش کنید: عدد رو به رشته تبدیل کنید و بعد رشته رو معکوس کنید!
چجوری؟
من هیچ راهی برای مقلوب کردن رشته تو ذهنم نیست. میشه بگی چجوری این کار رو بکنیم؟

Developer Programmer
دوشنبه 02 آبان 1384, 16:52 عصر
for index:=Length(String) to 1 do
write( String[index] );

sipo313
دوشنبه 02 آبان 1384, 18:59 عصر
من مقلوب را به زبان
می خواهم vb6

vbapr2005
سه شنبه 03 آبان 1384, 05:33 صبح
آقا افشین
اونطوری که به ما گفتن دستگاهی که الگوریتم های نوشته شده توسط ما رو میخونه فقط این کارها رو می فهمه:
چاپ کردن، انتساب، جمع، تفریق، ضرب، تقسیم، توان، جذر گرفتن با هر فرجه ای و خلاصه این کار های خیلی ابتدایی
مشکل من هم دقیقا همینه

علی کاکرودی
پنج شنبه 21 اردیبهشت 1385, 14:00 عصر
1- شروع
2- a را بخوان
3- چاپ کن a mod 10 ( باقیمانده تقسیم صحیح عدد مورد نظر بر 10
4- a \ 10 قرار بده در a ( تقسیم صحیح a بر 10)
5- اگر a >0 آنگاه برو به 3
6- پایان

kimia4099
چهارشنبه 15 مهر 1388, 15:10 عصر
سلام
من فلوچارت مقلوب یک عدد رو می خوام. اگه می شه کمکم کنید.
ممنون می شم

xxxxx_xxxxx
چهارشنبه 15 مهر 1388, 21:44 عصر
سلام
من فلوچارت مقلوب یک عدد رو می خوام. اگه می شه کمکم کنید.
ممنون می شم

پست قبل از شما الگوریتمشو نوشته. خب دیگه رسم فلوچارت از رو الگوریتم که کاری نداره.
راهنمایی اینکه اولش با بیضی شروع میشه :چشمک:

xerxesking
شنبه 23 آبان 1388, 16:55 عصر
دوست عزيز مقلوب يك عدد كه خيلي سادست
مقلوب عدد اعشاري سخته
مثلا 23/45 بايد بشه 54/32

براي مقلوب عدد معمولي :

از دستور 0 تا 8 :

شروع
a را بخوان
0 ==> n
اگر 0<a برو به بعدي و گرنه برو به 7
a mod 10 ==> R
n*10 + R ==> n
a dive 10 ==> a و برو به 3
n را چاپ كن
پايان

xerxesking
شنبه 23 آبان 1388, 17:01 عصر
دوستان اگر كسي الگوريتم مقلوب عدد اعشاري رو داره بده
اين الگوريتم كتاب هاي حل تمرين رو كه ترايس كردم اشتباه بود

شديدا لازم دارم

nima898
سه شنبه 10 آذر 1388, 17:44 عصر
دوستان اگر كسي الگوريتم مقلوب عدد اعشاري رو داره بده
راهنمایی
آنقدر عدد رو در 10 ضرب میکنیم تا عدد صحیح شود( تعداد ضرب ها --> n)
مغلوب حاصل رو محاسبه میکنیم
تعداد ارقام حاصل --> m
حاصل رو بر 10 به توان (m-n) تقسیم میکنیم

nima898
سه شنبه 17 آذر 1388, 13:54 عصر
اظهار نظری در این مورد نیست؟

quantomquery
شنبه 21 آذر 1388, 20:11 عصر
من مقلوب را به زبان
می خواهم vb6




For i = Len(Text1.Text) To 1 Step -1
Text2.Text = Text2.Text + Mid(Text1.Text, i, 1)
Next i

danialafshari
یک شنبه 25 دی 1390, 01:30 صبح
از این کد هم میشه ولی غیر استاندارده

Dim x As Integer
x = InputBox("Number")
Print StrReverse(x)
-----------------------------------------
درستش اینه ولی برای 3 رقمی کار میده
Dim x As Integer
x = Text1.Text
Dim y As Integer
Dim a, b, c As Integer
a = Int(x / 100)
b = Int(x / 10) - 10 * a
c = x Mod 10
y = Val(c * 100 + b * 10 + a)
Print y

majid.fe
چهارشنبه 18 بهمن 1391, 23:00 عصر
اینم میشه. خودم نوشتم:


Private Sub Command2_Click()
n = Val(Text1.Text)
a:
r = n Mod 10
n = n \ 10
Label3.Caption = Label3.Caption + Str(r)
If n > 0 Then GoTo a:
End Sub

aservanto
دوشنبه 30 دی 1392, 19:44 عصر
سلام دوستان :)


این اولین پستمه تو این سایت :) امیدوارم مفید باشم:قلب:
این کد هم میتونه مغلوب عدد ورودی و محاسبه کنه.متغییرها d و n شدن و با استفاده از دستور scsnf مقدارn که عدد ورودی هست تعیین میشه، سپس با استفاده از حلقه d ، do while ها که باقی مانده ها هستن ایجاد میشن و با دستور printf هم چاپ میشن رو صفحه مانیتور شرط این اعمال اینه که تا زمانی ادامه داشته باشه که nمخالف صفر باشه :) با دستور getch هم خروجی رو صفحه می مونه.

#include<stdio.h>
#include<conio.h>
int main()
{
clrscr();
int n,d;
scanf("%d",&n);
do
{
d=n%10;
printf("%d",d);
n=n/10;
}
while(n!=0);
getch();
return 0;
}

howdiw
شنبه 18 شهریور 1396, 20:51 عصر
سلام
با این کد هم میشه نوشت:
a=inputbox(a)
a=val(a)
c=1
b=a
X1 b=b\10
if b>0 then c=c+1
if b>0 then go to X1
d=0
for i=1 to c
d=d*10+a-((a\10)*10)
a=a\10
next
print d

منبع:
uciran.ir/17935-1-1.html