«یا اللهُ یا رَبِّ یا حَیُّ یا قَیّوم یا ذَالجَلالِ وَ الاکرام اَسئَلُکَ بِاسمِکَ اَلعَظیم اَلاَعظَم اَن تَرزُقَنی رِزقاً حَلالاً طَیِّباً بِرَحمَتِکَ الواسِعَه یا اَرحَمَ الرّاحِمِین.»
سورس کد معکوس یا برعکس کردن یک عدد در زبان سی پلاس پلاس و سیشارپ_reverse number in cpp or csharp :: گیم اور _ بازیسازی با unity + مطالب متفرقه

گیم اور _ بازیسازی با unity + مطالب متفرقه

آموزش های علمی با اجازه ی خدا تقدیم به هرکس خدا بخواد

آموزش های علمی با اجازه ی خدا تقدیم به هرکس خدا بخواد

به نام خدا
--
گروه قدیم ما promakers.ir یا پرومیکرز بود که بالای هزار اموزش توش ساخته بودم به اسم sajjad3011 ولی حیف ادمین سایتش عوض کرد
حالا سوالی بود کاری بود این شمارمه

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

---
سوالی بود بذارید
نظر خصوصی نذارید
پاسخش سخته
دوست داشتید شماره بذارید تو واتساپ یا ایتا یا .... گروه بزنیم.
09358077198

بایگانی
پیوندها

gameover.blog.ir

روش زیاده.

بدترین روش هم روش recursive یا بازگشتی هست از لحاظ مصرف حافظه پشته یا stack .


یک روش تقسیم به ده داریم :

http://s9.picofile.com/file/8269620742/taghsim10.jpg



مثال:

تقسیم به ده می کنیم تا جایی که خارج قسمت از 10 کمتر بشه .


و باقی مانده ها و آخرین خارج قسمت رو یکی یکی در آرایه ذخیره می کنیم


و سپس آرایه رو از آخر می خونیم و کاراکترها رو به هم می چسبونیم.


اگه هم از string نمی خوایم استفاده کنیم می تونیم اولین باقیمانده رو بخونیم و در 10 ضرب کنیم


و جمع کنیم با باقمانده دوم و همینطور ادامه میدیم تا به باقیمانده صفر برسیم




یک الگوریتمش به زبان cpp کدش این میشه که با کمی تغییر می تونید ببرید به سیشارپ یا جاوا یا ... :

#include <iostream>
using namespace std;

int main() {
    int n, reverse = 0;
    
    cout << "Enter an integer: ";
    cin >> n;
    while(n != 0) {
        int remainder = n%10;
        reverse = reverse*10 + remainder;
        n/=10;
    }
    
    cout << "Reversed number = " << reverse;
    
    return 0;
}
//---

Output خروجی

Enter an integer: 12345
Reversed number = 54321



برای مبتدی ها:
در مثال فوق: درصد ده یعنی تقسیم بر ده کن و باقیمانده رو حساب کن.% عملگر باقیمانده هست توی زبان های سی و سیشارپ و سی پلاس پلاس و جاوا و ... .
توی پاسکال mod بود برای حساب کردن باقیمانده.(پاسکال دیگه قدیمی شده و کاربرد زیادی نداره)



روش دیگه در سیشارپ اینه که عدد رو  بریزیم توی یک متغیر عددی و سپس با متد toString  تبدیل کنیم به رشته String  و سپس یک حلقه for بذاریم بیایم از کاارکتر آخر تا اول بخونیم.



مثال در یونیتی به زبان سیشارپ:

using UnityEngine;
using UnityEngine.UI;
using UnityEngine.Events;
using UnityEngine.EventSystems;
using System.Collections;

public class reverseNumber : MonoBehaviour {

	public Button btn1;
	void Start() {
		int num=123;
		string strNum="",strReverse="";
		strNum=num.ToString();
		for(int i=(strNum.Length-1);i>=0;i--)
		{
			strReverse+=strNum[i];
		}
		Debug.Log("Reverse : " + strReverse);
	}
}
نکته:
اسکریپت فوق رو نگاه کنید.
اسم رو گذاشتیم reverseNumber  که باید اسم خود اسکریپت هم دقیقا همین باشه(reverseNumber  با رعایت حروف کوچک و بزرگ.) اگه هم یه اسم دیگه می دید مهم نیست دلخواهه ولی اسم کلاس و اسم خود اسکریپت هر چی میذارید باید یکسان باشه یادتون نره.

اینم خروجی:
http://s9.picofile.com/file/8269623934/reverseNumber.jpg



روش دیگه متد Array.Reverse هست که بعد از اسم آرایه می تونیم بیاریم.(هر چند نوع داده String در cpp آرایه ای از کاراکترهاست اما در سیشارپ و در این مثال همون روش بالا بهتره)

نظرات (۱)

عالی خیلی به درد بخور بود.

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی