PDA

View Full Version : تبدیل عدد به رشته و بلعکس



ahmadmehr
چهارشنبه 19 آذر 1393, 15:33 عصر
سلام
میخواستم به دوتا سوال جواب بدید.

1- برنامه ای بنویسید که 1 عدد از ورودی دریافت کرده و آن را تبدیل به رشته ( string ) کند.
2- برنامه ای بنویسید که عدد به صورت رشته دریافت کرده و تبدیل به عدد معمولی کند ( برعکس بالایی )/. ( با اسمبلی )
ممنون

masoud.8086
چهارشنبه 19 آذر 1393, 20:39 عصر
سلام
سوال یک که کامل صورت مسله اشتباس چون شما هر چی وارد کنی به صورت رشتس و شما نمیتونی عدد وارد کنی چون به عنوان رشته میشناسه
فکر کنم منظورت این بوده ی عددو به رشته تبدیل کنی و بعد چاپ کنی برای این کار میای عددتو به 10 تقسیم میکنی و باقیماندشو به خروجی میبری و دوبار تقسیم و دوباره باقیمانده به خروجی تا زمانی که عددت(خارج قسمتت )کوچکتر از 10 بشه اونوقت خودشو به خروجی میبری..

سوال دو:خوب ابتدا میای با وقفه int 21/ah0ah یاah,1 رشتتو از ورودی دریافت میکنی و میریزی داخل ارایه!!بعد میای رشتتو ارزش گذاری میکنی یعنی میای ببینی عدد رشته ای که وارد شده چند رقمیه اگر فرضا سه رقمی بود پس بزرگترین عددی که میتونی باهش بسازی صدگان داره!! بعدش میای اولین کارکتر ورودیتو در 100 ضرب میکنی و کارکتر بعدی رو در 10 ضرب میکنیو کاکرتر اخری رو هم در 1 و جواب همه این ضربها رو جمع میکنی وعدد بدست میاد توی تالار جستجو کنی توضیحات بیشتری داده شده..
موفق باشی.

ahmadmehr
پنج شنبه 20 آذر 1393, 07:25 صبح
فکر کنم منظورت این بوده ی عددو به رشته تبدیل کنی و بعد چاپ کنی برای این کار میای عددتو به 10 تقسیم میکنی و باقیماندشو به خروجی میبری و دوبار تقسیم و دوباره باقیمانده به خروجی تا زمانی که عددت(خارج قسمتت )کوچکتر از 10 بشه اونوقت خودشو به خروجی میبری..

دقیقا همینو میخوام

سوال دو:خوب ابتدا میای با وقفه int 21/ah0ah یاah,1 رشتتو از ورودی دریافت میکنی و میریزی داخل ارایه!!بعد میای رشتتو ارزش گذاری میکنی یعنی میای ببینی عدد رشته ای که وارد شده چند رقمیه اگر فرضا سه رقمی بود پس بزرگترین عددی که میتونی باهش بسازی صدگان داره!! بعدش میای اولین کارکتر ورودیتو در 100 ضرب میکنی و کارکتر بعدی رو در 10 ضرب میکنیو کاکرتر اخری رو هم در 1 و جواب همه این ضربها رو جمع میکنی وعدد بدست میاد توی تالار جستجو کنی توضیحات بیشتری داده شده..
موفق باشی.
با وقفه ah,1 باشه

ممنون میشم سورس دوتاشونو برام بزارید

masoud.8086
پنج شنبه 20 آذر 1393, 08:56 صبح
چنین چیزی امکان نداره قرار نیست هرکس میاد ایجا سوالی مطرح کنه و دیگران بیان سورس برنامه رو براشون بذارن اینجوری شما چیزی یاد نمیگیری این تالار ها ایجاد شده که اگر کسی سوال یا مشکلی داره مطرح کنه و پاسخشو بگیره نه اینکه شما از ریشه درخواست ی سورس بکنی که حتی صورت سوالشو اشتباه مطرح میکنی شما شروع به نوشتن کن هرجامشکل داشتی مطرح کن تا کمکت کنن..
موفق باشی.

rahimi4912
سه شنبه 09 دی 1393, 13:38 عصر
سلام
سوال یک که کامل صورت مسله اشتباس چون شما هر چی وارد کنی به صورت رشتس و شما نمیتونی عدد وارد کنی چون به عنوان رشته میشناسه
فکر کنم منظورت این بوده ی عددو به رشته تبدیل کنی و بعد چاپ کنی برای این کار میای عددتو به 10 تقسیم میکنی و باقیماندشو به خروجی میبری و دوبار تقسیم و دوباره باقیمانده به خروجی تا زمانی که عددت(خارج قسمتت )کوچکتر از 10 بشه اونوقت خودشو به خروجی میبری..

سوال دو:خوب ابتدا میای با وقفه int 21/ah0ah یاah,1 رشتتو از ورودی دریافت میکنی و میریزی داخل ارایه!!بعد میای رشتتو ارزش گذاری میکنی یعنی میای ببینی عدد رشته ای که وارد شده چند رقمیه اگر فرضا سه رقمی بود پس بزرگترین عددی که میتونی باهش بسازی صدگان داره!! بعدش میای اولین کارکتر ورودیتو در 100 ضرب میکنی و کارکتر بعدی رو در 10 ضرب میکنیو کاکرتر اخری رو هم در 1 و جواب همه این ضربها رو جمع میکنی وعدد بدست میاد توی تالار جستجو کنی توضیحات بیشتری داده شده..
موفق باشی.

سلام مسعود جان

مقدار رو که از ورودی دریافت می کنیم ، چطوری باید این مقدار رو داخل خانه های ارایه بریزیم ؟

masoud.8086
سه شنبه 09 دی 1393, 16:47 عصر
سلام با استفاده از وقفه int 21h /ah,0ah میتونی این کارو انجام بدی به مثال زیر توجه کن
a db 11,11 dup(?)
mov ah,0ah
lea dx,a
int 21h
الان مقدا رشته ای که وارد کنی میره داخل ارایه a قرار میگیره الته از خونه دوم ارایه به بعد مقادیر قرار میگیره
توضیحات بیستر تو این آدرس: آموزش اسمبلی (http://emu8086.mihanblog.com/extrapage/input_string)

rahimi4912
سه شنبه 09 دی 1393, 18:23 عصر
سلام با استفاده از وقفه int 21h /ah,0ah میتونی این کارو انجام بدی به مثال زیر توجه کن
a db 11,11 dup(?)
mov ah,0ah
lea dx,a
int 21h
الان مقدا رشته ای که وارد کنی میره داخل ارایه a قرار میگیره الته از خونه دوم ارایه به بعد مقادیر قرار میگیره
توضیحات بیستر تو این آدرس: آموزش اسمبلی (http://emu8086.mihanblog.com/extrapage/input_string)

یه سوال دیگه هم داشتم

اون رشته ای که کاربر وارد میکنه ، از کجا باید بفهمیم چند رقمی ایه ؟؟
دستور خاصی داره مث len در C ?

masoud.8086
سه شنبه 09 دی 1393, 20:02 عصر
چند راه داره ولی بهترین راه تو خود ارایه نهفتس...!!!
یادته گفتم با این نوع ارایه باید از خونه دوم به بعد رشتتو تو ارایه پیدا کنی؟؟
با این نوع تعریف ارایه خونه اول و دوم ارایه یعنی خونه صفر ویک رزور شدس خونه اولش یا همون خونه صفر طول ارایس و خونه دوم یا همون اندیس یکش طوله رشته ای که کار بر وارد کرده!!!پس اگه میخوای بدونی کاربر چند کارکتر وارد کرده کافیه خونه دوم یا اندیس یک ارایتو مقدارشو چک کنی !!
موفق باشی.