مثلث

سوال

الگوریتمی بنویسید که سه عدد C و B و A را دریافت کند و بگوید با این سه عدد می توان مثلث ساخت یا نه ؟

در حال بررسی 1
Ali 11 ماه 11 پاسخ ها 202 دیده شده 3

پاسخ ها ( ۱۱ )

  1. Console.WriteLine(“enterA B C”);
    int A = Convert.ToInt32(Console.ReadLine());
    int B = Convert.ToInt32(Console.ReadLine());
    int C = Convert.ToInt32(Console.ReadLine());
    if (A+B > C || A+C>B || B+C>A)
    Console.WriteLine(“yes”);
    else
    Console.WriteLine(“no”);

  2. اصلاح شده

     

  3.  

    • سلام به شما، متاسفانه برنامه تون اشتباه کار می کنه و ایرادش هم شرط داخل if هست!
      (if (num1 + num2 > num3 || num2+num3 > num1 || num1+num3 > num2

      این خط از کدتون باید اصلاح بشه.
      موفق باشید

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

        من که هر سه شرط رو قرار دادم. مگه شرط مثلث این نیست که جمع دو ضلع ، از ضلع سوم بزرگتر باشه ؟

        شاید من اشتباه یادم مونده از دوران راهنمایی 🙂

        • ایراد برنامه تون این هست که شما بین شر طها علامت || قرار دادین در حالیکه باید علامت && قرار بدین، چون هر سه شرط همزمان با هم باید درست باشن تا یک مثلث به وجود بیاد!! فرض کنید در شرایطی num1 + num2 بزرگتر از num3 باشه ولی num2+num3 کوچکتر از num1 باشه، حالا چون شما علامت || بین شرط ها قرار دادین، چون شرط اول true شده، برنامه میره داخل if و “Yes” رو چاپ می کنه!
          امیدوارم خوب توضیح داده باشم و متوجه منظورم شده باشید، ولی اگر احیانا بازم مشکل دارید ازم بپرسید تا واضح تر بگم.
          موفق باشید.

  4. سلام

    1. ابتدا اضلاع مثلث را دریافت کن. (a و b و c)
    2. اعداد را به ترتیب از بزرگ به کوچک در آرایه M ذخیره کن.
    3. اگر M_0 > M_1 + M_2 بود می توان همچین مثلثی را رسم کرد وگرنه نمیتوان همچین مثلثی رسم کرد.

    برای محاسبه خط ۲ راه های زیادی وجود داره. مثلا:

    1. برای دو بار دستورات خطوط (۲ و ۳) را انجام بده:
    2. اگر M_1 > M_0 بود آنگاه M_1 = M_1 + M_0 و بعد M_0 = M_1 – M_0 و بعد M_1 = M_1 – M_0
    3. اگر M_2 > M_1 بود آنگاه M_2 = M_2 + M_1 و بعد M_1 = M_2 – M_1 و بعد M_2 = M_2 – M_1
    4. پایان حلقه
  5.  

  6.  

ارسال یک پاسخ