نمایش نتایج 1 تا 21 از 21

نام تاپیک: یه سوال ساده در مورد رشته ها

  1. #1

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

    با سلام
    من یه سوال دارم که چطور میتونم محتوای دو رشته رو با هم مقایسه کنم؟
    مثلا یه رشته دارم "abcdef" و رشته دوم "abuio" حالا میخوام کاراکتر به کاراکتر با رشته ی اول مقایسه بشه و بگه ایا اعضای رشته ی دوم در اولی هست یا نه؟

  2. #2

    نقل قول: یه سوال ساده در مورد رشته ها

    با compare to می تونی دو رشته رو با هم مقایسه کنی . البته فقط به شما می گه که دو رشته مثل هم هستند یا نه . به مثال زیر نگاه کنید
    string name1 = "saeed";
    MessageBox.Show (Convert.ToString(name1.CompareTo("hasan")));

  3. #3
    کاربر دائمی آواتار far9090
    تاریخ عضویت
    آبان 1387
    محل زندگی
    تهران
    سن
    36
    پست
    259

    نقل قول: یه سوال ساده در مورد رشته ها

    شما بهتره دو تا آرایه درست کنید . حروف رشته هاتون رو داخل اون ها بریزید . بعد خانه به خانه اون ها رو با هم مقایسه کنید . از این طریق می تونید تعداد حروف یکسان ، جابه جایی اون ها بر اثر خطای سهوی و غیره رو هم بررسی کنید . اگر واجبه و براتون مشکله من یک sample براتون آماده کنم .

  4. #4

    نقل قول: یه سوال ساده در مورد رشته ها

    نقل قول نوشته شده توسط far9090 مشاهده تاپیک
    شما بهتره دو تا آرایه درست کنید . حروف رشته هاتون رو داخل اون ها بریزید . بعد خانه به خانه اون ها رو با هم مقایسه کنید . از این طریق می تونید تعداد حروف یکسان ، جابه جایی اون ها بر اثر خطای سهوی و غیره رو هم بررسی کنید . اگر واجبه و براتون مشکله من یک sample براتون آماده کنم .
    با سلام و تشکر از شما
    من فکر کردم با دو تا حلقه for اینکار رو انجام بدم ولی به قول شما وقتی میخوام رشته ها رو داخل ارایه بریزم ولی وقتی اینکار رو میکنم خطا میگیره
    میشه یه نمونه بیارین
    خیلی لازم دارم ممنون

  5. #5

    نقل قول: یه سوال ساده در مورد رشته ها

    دوست عزیز فکر میکنم این بتونه بهت کمک کنه

    string a = "abcdef";
    string b = "abuio";
    Hashtable ar = new Hashtable();
    int count = 0;
    foreach (char ch1 in a)
    {
    foreach (char ch2 in b)
    {
    if (ch1 == ch2)
    {
    count += 1;
    }
    }
    if (!ar.ContainsKey(ch1))
    {
    ar.Add(ch1, count);
    }
    count = 0;
    }


    در نهایت hashtabl داری که توش هر کاراکتر و تعداد اون در رشته دوم رو ذخیره کرده

  6. #6

    نقل قول: یه سوال ساده در مورد رشته ها

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

    string a = "abcdef";
    string b = "abuio";
    Hashtable ar = new Hashtable();
    int count = 0;
    foreach (char ch1 in a)
    {
    foreach (char ch2 in b)
    {
    if (ch1 == ch2)
    {
    count += 1;
    }
    }
    if (!ar.ContainsKey(ch1))
    {
    ar.Add(ch1, count);
    }
    count = 0;
    }


    در نهایت hashtabl داری که توش هر کاراکتر و تعداد اون در رشته دوم رو ذخیره کرده

    دوست عزیز خیلی از شما ممنونم واقعا لطف کردی
    فقط من راجع به کلاس hashtabl یه چیزایی خوندم ولی درست متوجه نشدم این کلاس چی رو نگه میداره؟
    ar.Add(ch1, count); معنی اش چی هست؟
    و اینکه ch1 و ch2 حاوی چه چیزی هستند؟و اگه بخوام میتونم محتویات انها رو نشون بدم؟

  7. #7

    نقل قول: یه سوال ساده در مورد رشته ها

    نقل قول نوشته شده توسط Rasilinkof مشاهده تاپیک
    دوست عزیز خیلی از شما ممنونم واقعا لطف کردی
    فقط من راجع به کلاس hashtabl یه چیزایی خوندم ولی درست متوجه نشدم این کلاس چی رو نگه میداره؟
    ar.Add(ch1, count); معنی اش چی هست؟
    و اینکه ch1 و ch2 حاوی چه چیزی هستند؟و اگه بخوام میتونم محتویات انها رو نشون بدم؟
    1. کلاس hashtabl درواقع یک آرایه دوبعدی است که عناصر آن از نوع object بوده و هرچیزی که به آن اضافه کنی , نگه می دارد و محدودیتی در تعداد عناصر ندارد.
    2. ;(ar.Add(ch1, count معنی اش این است که یک ردیف به آرایه اضافه کن که مقادیر آن نیز محتویات ch1 , count می باشد.
    3. ch1 در هر اجرای حلقه اول کاراکترهای موجود در رشته a را می گیرد ( رجوع شود به توضیحات کلمه کلیدی foreach ) که به ترتیب در هر اجرای حلقه حروف a, b, c, d, e, f را می گیرد و زمانی که به انتهای رشته می رسد اجرای حلقه به اتمام می رسد. همین امر در خصوص ch2 نیز صادق است با این تفاوت که حروف مربوط به رشته b را میگیرد.

  8. #8
    کاربر دائمی آواتار اَرژنگ
    تاریخ عضویت
    آبان 1384
    محل زندگی
    arjang8000@gmail.com
    پست
    2,736

    نقل قول: یه سوال ساده در مورد رشته ها

    نقل قول نوشته شده توسط Rasilinkof مشاهده تاپیک
    با سلام
    من یه سوال دارم که چطور میتونم محتوای دو رشته رو با هم مقایسه کنم؟
    مثلا یه رشته دارم "abcdef" و رشته دوم "abuio" حالا میخوام کاراکتر به کاراکتر با رشته ی اول مقایسه بشه و بگه ایا اعضای رشته ی دوم در اولی هست یا نه؟
    یک سوال اگر abcdef
    را با axbxef مقایسه کنید جواب اینکه کدام اعضا در هردو هستند میشه کدام یکی از اینها؟
    a,b,e,f ،
    abef ،
    a,b,ef و یا یکچیزه دیگر؟
    این یک سوال تفریحیه و یا اینکه برایه کار بخصوصی قرار است استفاده بشه؟

  9. #9

    نقل قول: یه سوال ساده در مورد رشته ها

    alireza1384 بعضی از سوالات رو جواب داد
    اما با یک حلقه میتونی هر کاراکتر و تعداد اون در رشته دوم رو بدست بیاری
    سوالی بود در خدمتم

  10. #10

    نقل قول: یه سوال ساده در مورد رشته ها

    نقل قول نوشته شده توسط اَرژنگ مشاهده تاپیک
    یک سوال اگر abcdef
    را با axbxef مقایسه کنید جواب اینکه کدام اعضا در هردو هستند میشه کدام یکی از اینها؟
    a,b,e,f ،
    abef ،
    a,b,ef و یا یکچیزه دیگر؟
    این یک سوال تفریحیه و یا اینکه برایه کار بخصوصی قرار است استفاده بشه؟
    به نظر شما چرا باید با یه سوال تفریحی وقت خودم و دیگران رو بگیرم؟ که چی بشه؟
    شما چرا انقدر بد بین هستین؟
    همه مثل شما برنامه نویسی شون عالی نیست بعضی مثل من تازه کارن و طبیعی هست
    که سوال شون به نظر شما تفریحی بیاد!

  11. #11

    نقل قول: یه سوال ساده در مورد رشته ها

    نقل قول نوشته شده توسط alireza1384 مشاهده تاپیک
    1. کلاس hashtabl درواقع یک آرایه دوبعدی است که عناصر آن از نوع object بوده و هرچیزی که به آن اضافه کنی , نگه می دارد و محدودیتی در تعداد عناصر ندارد.
    2. ;(ar.Add(ch1, count معنی اش این است که یک ردیف به آرایه اضافه کن که مقادیر آن نیز محتویات ch1 , count می باشد.
    3. ch1 در هر اجرای حلقه اول کاراکترهای موجود در رشته a را می گیرد ( رجوع شود به توضیحات کلمه کلیدی foreach ) که به ترتیب در هر اجرای حلقه حروف a, b, c, d, e, f را می گیرد و زمانی که به انتهای رشته می رسد اجرای حلقه به اتمام می رسد. همین امر در خصوص ch2 نیز صادق است با این تفاوت که حروف مربوط به رشته b را میگیرد.

    واقعا از شما ممنونم
    چون اقای ارژنگ اشاره کردن که این سوال تفریحیه یا کاربردی داره یا نه من میگم هدفم چی بود من میخوام رشته ی ورودی که کاربر وارد کرده با کل حروف الفبای انگلیسی مقایسه بشه
    و بگه ایا کل رشته ی وارد شده حرف هست یا نه؟ ایا باید یه رشته شامل کل حروف بگیرم. با رشته ی ورودی مقایسه کنم؟ یا راه بهتری هم هست که کوتاهتر باشه؟

  12. #12

    نقل قول: یه سوال ساده در مورد رشته ها

    نقل قول نوشته شده توسط alireza1384 مشاهده تاپیک
    1. کلاس hashtabl درواقع یک آرایه دوبعدی است که عناصر آن از نوع object بوده و هرچیزی که به آن اضافه کنی , نگه می دارد و محدودیتی در تعداد عناصر ندارد.
    2. ;(ar.Add(ch1, count معنی اش این است که یک ردیف به آرایه اضافه کن که مقادیر آن نیز محتویات ch1 , count می باشد.
    3. ch1 در هر اجرای حلقه اول کاراکترهای موجود در رشته a را می گیرد ( رجوع شود به توضیحات کلمه کلیدی foreach ) که به ترتیب در هر اجرای حلقه حروف a, b, c, d, e, f را می گیرد و زمانی که به انتهای رشته می رسد اجرای حلقه به اتمام می رسد. همین امر در خصوص ch2 نیز صادق است با این تفاوت که حروف مربوط به رشته b را میگیرد.
    خیلی از شما ممنون
    ببینید من میحوام رشته ای که کاربر وارد کرده با حروف الفبای انگلیسی مقایسه بشه و بگه ایا رشته ی وارد شده کلا حرف هست یا نه؟
    ایا باید برای کل حروف یه رشته در نظر بگیرم و با رشته ی ورودی مقایسه کنم؟ یا راه ساده تری هم هست؟

  13. #13
    کاربر دائمی آواتار اَرژنگ
    تاریخ عضویت
    آبان 1384
    محل زندگی
    arjang8000@gmail.com
    پست
    2,736

    نقل قول: یه سوال ساده در مورد رشته ها

    نقل قول نوشته شده توسط Rasilinkof مشاهده تاپیک
    به نظر شما چرا باید با یه سوال تفریحی وقت خودم و دیگران رو بگیرم؟ که چی بشه؟
    شما چرا انقدر بد بین هستین؟
    همه مثل شما برنامه نویسی شون عالی نیست بعضی مثل من تازه کارن و طبیعی هست
    که سوال شون به نظر شما تفریحی بیاد!
    چرا بدبین؟ سوال جالبی است که ندیدم برایه کارهایه معمولی استفاده بشه،

    اصلا هم به نظر سوال تازه‌کاری نیامد، تازه یکمی زیادی هم بخصوص بود . حالا چرا این ۵ خط را دِر نظر نگرفتین :

    یک سوال اگر abcdef
    را با axbxef مقایسه کنید جواب اینکه کدام اعضا در هردو هستند میشه کدام یکی از اینها؟
    a,b,e,f ،
    abef ،
    a,b,ef و یا یکچیزه دیگر؟

    و فقط به "تفریحی" متمرکز شدید، من تازه‌کار حالیم نیست، با همه مانند اینکه متخصص‌اند برخورد میکنم، اینکه چطوری از چیزی که گفتم اینکه با یک تازه کار دارم برخورد میکنم را استنباط کردید را درک نیمکنم. با یک متخصص هم دقیقا سوال را همانطوی که پرسیدم میپرسیدم.

    و سوال تفریحی هم هیچ چیزه بدی نیست، در انگلیسی ما بهش میگیم coding for fun و کلی هم کیف میده.
    دلیل پرسیدن این بود که اگر این برایه یک کار بخصوصی است با در نظر گرفتن شرائط جواب بدیم.
    ولی اگر برایه تفریح است )خودم همیشه کلی چیز برایه تفریح مینویسم(، اونوقت بدانیم که فقط برایه یادگرفتن همین چیزه بخصوص است.
    در ضمن تفریحی میشه از جدی بیشتر یاد گرفت و خیلی هم خوبه، کاشکی به جایه ناراحت شدن از سوالم در مورد احتیاج به چنین چیزی توضیح میدادید.
    آخرین ویرایش به وسیله اَرژنگ : پنج شنبه 21 آبان 1388 در 00:36 صبح

  14. #14
    کاربر دائمی آواتار اَرژنگ
    تاریخ عضویت
    آبان 1384
    محل زندگی
    arjang8000@gmail.com
    پست
    2,736

    نقل قول: یه سوال ساده در مورد رشته ها

    نقل قول نوشته شده توسط Rasilinkof مشاهده تاپیک
    خیلی از شما ممنون
    ببینید من میحوام رشته ای که کاربر وارد کرده با حروف الفبای انگلیسی مقایسه بشه و بگه ایا رشته ی وارد شده کلا حرف هست یا نه؟
    ایا باید برای کل حروف یه رشته در نظر بگیرم و با رشته ی ورودی مقایسه کنم؟ یا راه ساده تری هم هست؟
    وقتی که سوال را اینطوری بگید)هدفتان را بیان کنید( راحتر میشه جواب داد.

    http://www.c-sharpcorner.com/UploadF...RegExpPSD.aspx


    public bool IsAlpha(String strToCheck)
    {
    Regex objAlphaPattern=new Regex("[^a-zA-Z]");
    return !objAlphaPattern.IsMatch(strToCheck);
    }

  15. #15

    نقل قول: یه سوال ساده در مورد رشته ها

    نقل قول نوشته شده توسط اَرژنگ مشاهده تاپیک
    وقتی که سوال را اینطوری بگید)هدفتان را بیان کنید( راحتر میشه جواب داد.

    http://www.c-sharpcorner.com/UploadF...RegExpPSD.aspx


    public bool IsAlpha(String strToCheck)
    {
    Regex objAlphaPattern=new Regex("[^a-zA-Z]");
    return !objAlphaPattern.IsMatch(strToCheck);
    }
    سلام
    ممنون از توضیحی که دادین.امیدوارم ازم ناراحت نشده باشین.خوشحالم که متوجه منظورم شدین
    فقط من این کد رو نفهمیدم . ببینید کاربر یه رشته از تکس باکس وارد میکنه و میخوام با الفبا مقایسه بشه ممکنه بیشتر توضیح بدی؟ خیلی لازمش دارم

  16. #16
    کاربر دائمی آواتار اَرژنگ
    تاریخ عضویت
    آبان 1384
    محل زندگی
    arjang8000@gmail.com
    پست
    2,736

    نقل قول: یه سوال ساده در مورد رشته ها

    نقل قول نوشته شده توسط Rasilinkof مشاهده تاپیک
    سلام
    ممنون از توضیحی که دادین.امیدوارم ازم ناراحت نشده باشین.خوشحالم که متوجه منظورم شدین
    فقط من این کد رو نفهمیدم . ببینید کاربر یه رشته از تکس باکس وارد میکنه و میخوام با الفبا مقایسه بشه ممکنه بیشتر توضیح بدی؟ خیلی لازمش دارم
    نه بابا چه ناراحتی، منه پیرمرد اونقدر کتک خوردم تا به اینجا رسیدم

    این متد چک میکنه که اعضایی که در رشته هستند مابین a-z و A-Z باشند :[^a-zA-Z]
    در همان لینک مثلهایه دیگری هستند که مقایسه میکنند که هر کدام از اجزا رشته حتماً مابین ۰ تا ۹ باشند (یعنی اینکه رشته همش عدده) و یا حالتهایه دیگر.
    تنها کاری که باید انجام بدید ، رشته در تکست باکس را به این متد میدید و اگر همشان حروف مابین a تا z (چه کاپیتال و یا کوچک باشند) درست و یا غلط برمیگرداند، یعنی یکچیزی به این شکل :

    if (IsAlpha(textBox1.Text))
    {
    //فقط حروف است
    }
    else
    {
    //فقط حروف نیست
    }


  17. #17

    نقل قول: یه سوال ساده در مورد رشته ها

    syyntax این
    ("[^a-zA-Z]");
    رو من نفهمیدم
    syntax چطوریه؟

  18. #18
    کاربر دائمی آواتار اَرژنگ
    تاریخ عضویت
    آبان 1384
    محل زندگی
    arjang8000@gmail.com
    پست
    2,736

    نقل قول: یه سوال ساده در مورد رشته ها

    نقل قول نوشته شده توسط saed2006 مشاهده تاپیک
    syyntax این
    ("[^a-zA-Z]");
    رو من نفهمیدم
    syntax چطوریه؟
    Quantifiers,Metacharacters http://msdn.microsoft.com/en-us/library/ms972966.aspx

  19. #19

    نقل قول: یه سوال ساده در مورد رشته ها

    خیلی ممنون جناب ارژنگ واقعا ممنون
    اگه باز اشکال داشتم میتونم رو کمکتون حساب کنم؟!
    با شرمندگی من یه کم تازه کارم

  20. #20

    نقل قول: یه سوال ساده در مورد رشته ها

    نقل قول نوشته شده توسط اَرژنگ مشاهده تاپیک
    نه بابا چه ناراحتی، منه پیرمرد اونقدر کتک خوردم تا به اینجا رسیدم

    این متد چک میکنه که اعضایی که در رشته هستند مابین a-z و A-Z باشند :[^a-zA-Z]
    در همان لینک مثلهایه دیگری هستند که مقایسه میکنند که هر کدام از اجزا رشته حتماً مابین ۰ تا ۹ باشند (یعنی اینکه رشته همش عدده) و یا حالتهایه دیگر.
    تنها کاری که باید انجام بدید ، رشته در تکست باکس را به این متد میدید و اگر همشان حروف مابین a تا z (چه کاپیتال و یا کوچک باشند) درست و یا غلط برمیگرداند، یعنی یکچیزی به این شکل :

    if (IsAlpha(textBox1.Text))
    {
    //فقط حروف است
    }
    else
    {
    //فقط حروف نیست
    }


    public bool IsAlpha(String strToCheck)
    {
    Regex objAlphaPattern=new Regex("[^a-zA-Z]");
    return !objAlphaPattern.IsMatch(strToCheck);
    }
    public bool IsWholeNumber(String strNumber)
    {
    Regex objNotWholePattern=new Regex("[^0-9]");
    return !objNotWholePattern.IsMatch(strNumber);
    }
    string[] st = null;
    string[] x, y, z, t = null;
    st = textBox1.Text.Split(new char[] { ' ' });

    for(int i=0;i<4;i++)
    {
    if (IsAlpha(st[i]))
    {
    messagebox.show("alphabet")

    }
    else if(IsWholeNumber(st[i]))
    {
    messagebox.show("number")
    }
    else
    messagebox.show("error")

    }
    }
    من این کد رو نوشتم که یه دکمه داره و یه تکس باکس
    ورودی که به تکس باکس داده میشه اول بر حسب کاراکتر اسپیس جدا میشه داخل یه رشته قرار میگیره
    بعد مقایسه میشه یه خطاهای عجیب غریب میده که به صحت منطق کد شک کردم میشه یه نگاه بندازین؟
    فقط من همه ی کد رو داخل باتن (دکمه) نوشتم ایا درسته؟کدی که معرفی کرده بودین داخل باتن نوشتم درسته؟
    خیلی شرمنده

  21. #21
    کاربر دائمی آواتار اَرژنگ
    تاریخ عضویت
    آبان 1384
    محل زندگی
    arjang8000@gmail.com
    پست
    2,736

    نقل قول: یه سوال ساده در مورد رشته ها


    using
    System.Text.RegularExpressions;
    public bool IsAlpha(String strToCheck)
    {
    Regex objAlphaPattern = new Regex("[^a-zA-Z]");
    return !objAlphaPattern.IsMatch(strToCheck);
    }
    public bool IsWholeNumber(String strNumber)
    {
    Regex objNotWholePattern = new Regex("[^0-9]");
    return !objNotWholePattern.IsMatch(strNumber);
    }
    private void ShowWhatIsIt(string text)
    {
    if (IsAlpha(text))
    {
    MessageBox.Show("alphabet");
    }
    else if (IsWholeNumber(text))
    {
    MessageBox.Show("number");
    }
    else
    MessageBox.Show("Not a number of a Alphabet");
    }
    private void button1_Click(object sender, EventArgs e)
    {
    ShowWhatIsIt(textBox1.Text);
    }
    }

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •