اولین بار است که به این وب‌سایت می‌آیید. راهنما را مطالعه کنید!
x
موسسه خیریه محک

شهر ریاضی بازی-ریاضی

یک برنامه میخواستم که وقتی 3 عدد در اون وارد میکنیم به تریتیب از کوچک به بزرگ مرتب کنه

–1 امتیاز
18,894 نمایش

فقط اگه میشه از کتابخانه های iostream و conio.h استفاده کنید

پرسیده شده چهارشنبه ۲۹ آبان ۱۳۹۲ در C++ توسط امیر  
شناسایی شد چهارشنبه ۲۹ آبان ۱۳۹۲ توسط prodo

همیشه بهتره برنامه رو خودتون بنویسین و اشکالش رو بپرسین نه کل برنامه رو ;)

1 پاسخ

0 امتیاز
int x[3], tmp;
cin>>x[0]>>x[1]>>x[2];
for(int i=0; i<2; i++)
  for(int j=i+1 j<3; j++)
    if(x[i] > x[j])
    {
      tmp = x[i];
      x[i] = x[j];
       x[j] = tmp; 
    }

ویرایش: کوتاه کردن کد شما به این صورت ممکنه

if(a<=b)
{
  if(c<=a) cout<<"c<a<b";
  else if(c<=b) cout<<"a<c<b"
  else cout<<"a<b<c";
}
else
{
  if(c<=b) cout<<"c<b<a";
  else if(c<=a) cout<<"b<c<a"
  else cout<<"b<a<c";
}
هیچ پژوهش انسانی نمی‌تواند ادعای علمی بودن داشته باشد، مگر این‌که از برهان ریاضی برخوردار باشد (لئوناردو داوینچی)
پاسخ داده شده چهارشنبه ۲۹ آبان ۱۳۹۲ توسط prodo  
ویرایش شده چهارشنبه ۲۹ آبان ۱۳۹۲ توسط prodo
#include<conio.h>
#include<iostream>
using namespace std;
main ()
{
  float a,b,c;
    cout<<"a , b ,c ra vared konid: ";
  cin>>a>>b>>c;
  if (a==b && b==c)
    cout<<"a=b=c";
  if (a>b && b<c)
    cout<<"a>b>c";
  if (b>a && a>c)
    cout<<"b>a>c";
  if (c>b && b>a)
    cout<<"c>b>a";
  if (b>c && c>a)
    cout<<"b>c>a";
  if (a>c && c>b)
    cout<<"a>c>b";
  if (c>a && a>b)
    cout<<"c>a>b";
  getch();     
}

من الان این رو نوشتم میخوام بدون تغییر اطلاعات اینو یکم کوتاه تر کنین میشه آیا الان اینجا if ها خیلی زیادن میشه یه کاریش کرد؟

اول دو تا چیز رو درست کنین به نظرم. این خط کد که جهت علامت برعکس خورده if (a>b && b<c)
و دوم این علامت‌ها باید >= و <= باشن به نظرم.

پاسخ رو ویرایش کردم