مثلث
سوال
الگوریتمی بنویسید که سه عدد C و B و A را دریافت کند و بگوید با این سه عدد می توان مثلث ساخت یا نه ؟
در حال بررسی
1
انجمن ACM و الگوریتم
5 سال
11 پاسخ ها
700 دیده شده
4
پاسخ ها ( ۱۱ )
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”);
اصلاح شده
سلام به شما، متاسفانه برنامه تون اشتباه کار می کنه و ایرادش هم شرط داخل if هست!
(if (num1 + num2 > num3 || num2+num3 > num1 || num1+num3 > num2
این خط از کدتون باید اصلاح بشه.
موفق باشید
سلام ، ببخشید متوجه نشدم اشکال کار کجاس ؟
من که هر سه شرط رو قرار دادم. مگه شرط مثلث این نیست که جمع دو ضلع ، از ضلع سوم بزرگتر باشه ؟
شاید من اشتباه یادم مونده از دوران راهنمایی 🙂
ایراد برنامه تون این هست که شما بین شر طها علامت || قرار دادین در حالیکه باید علامت && قرار بدین، چون هر سه شرط همزمان با هم باید درست باشن تا یک مثلث به وجود بیاد!! فرض کنید در شرایطی num1 + num2 بزرگتر از num3 باشه ولی num2+num3 کوچکتر از num1 باشه، حالا چون شما علامت || بین شرط ها قرار دادین، چون شرط اول true شده، برنامه میره داخل if و “Yes” رو چاپ می کنه!
امیدوارم خوب توضیح داده باشم و متوجه منظورم شده باشید، ولی اگر احیانا بازم مشکل دارید ازم بپرسید تا واضح تر بگم.
موفق باشید.
اهان
ممنون که گفتید ، من فکر میکردم اگه فقط یکی از شرط ها درست باشه ، کافیه.
سلام
برای محاسبه خط ۲ راه های زیادی وجود داره. مثلا: