سلام، میتوانید از روش مرتبسازی Selection Sort برای مرتب کردن اعداد استفاده کنید. این روش به این صورت است که در هر مرحله از آرایه، کوچکترین مقدار را پیدا کرده و در جایگاه مناسبی قرار میدهیم.
برای مرتب کردن سه عدد به صورت صعودی، میتوانید از کد زیر استفاده کنید:
#include <iostream>
using namespace std;
// تابع تعریف شده برای جابجایی دو مقدار
void swap(int& x, int& y) {
int temp = x;
x = y;
y = temp;
}
int main() {
int a, b, c;
cin >> a >> b >> c;
// Selection sort برای مرتب کردن به صورت صعودی
if (a > b) swap(a, b);
if (a > c) swap(a, c);
if (b > c) swap(b, c);
cout << a << " " << b << " " << c << endl;
// Selection sort برای مرتب کردن به صورت نزولی
if (a < b) swap(a, b);
if (a < c) swap(a, c);
if (b < c) swap(b, c);
cout << a << " " << b << " " << c << endl;
return 0;
}
در این کد، عددهای ورودی a، b، c را میخوانیم. سپس با استفاده از روش Selection Sort، این سه عدد را به صورت صعودی مرتب میکنیم. برای این کار، در هر مرحله، کوچکترین مقدار را پیدا میکنیم و در جایگاه مناسبی قرار میدهیم. با استفاده از تابع `swap`، میتوانیم دو مقدار را با یکدیگر جابجا کنیم. در نهایت، مقادیر مرتب شده را چاپ میکنیم.
برای مرتب کردن به صورت نزولی، میتوانید ترتیب جایگاهی اعداد در روش Selection Sort را تغییر دهید. یعنی ابتدا بزرگترین مقدار را پیدا کرده و در جایگاه مناسبی قرار دهید، سپس دومین بزرگترین مقدار را پیدا کرده و در جایگاه مناسبی قرار دهید و در نهایت کوچکترین مقدار را در جایگاه مناسبی قرار دهید.